YITH WooCommerce Catalog Mode - Version 1.5.5

Version Description

Last Stable Tag 1.4.0

Download this release

Release Info

Developer yithemes
Plugin Icon 128x128 YITH WooCommerce Catalog Mode
Version 1.5.5
Comparing to
See all releases

Code changes from version 1.4.0 to 1.5.5

class.yith-woocommerce-catalog-mode.php CHANGED
@@ -103,12 +103,12 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
103
  add_action( 'yith_catalog_mode_premium', array( $this, 'premium_tab' ) );
104
 
105
  $this->is_wc_lower_2_6 = version_compare( WC()->version, '2.6.0', '<' );
106
-
107
  if ( get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() ) {
108
 
109
- if ( ! is_admin() || $this->is_quick_view() ) {
110
 
111
- if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
112
 
113
  $priority = has_action( 'wp_loaded', array( 'WC_Form_Handler', 'add_to_cart_action' ) );
114
  remove_action( 'wp_loaded', array( 'WC_Form_Handler', 'add_to_cart_action' ), $priority );
@@ -117,11 +117,14 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
117
 
118
  add_action( 'wp', array( $this, 'check_pages_redirect' ) );
119
  add_action( 'get_pages', array( $this, 'hide_cart_checkout_pages' ) );
120
- add_action( 'woocommerce_single_product_summary', array( $this, 'hide_add_to_cart_single' ), 10 );
121
  add_action( 'woocommerce_before_shop_loop_item_title', array( $this, 'hide_add_to_cart_loop' ), 5 );
122
- add_action( 'wp_head', array( $this, 'hide_cart_widget' ) );
123
  add_filter( 'woocommerce_add_to_cart_validation', array( $this, 'avoid_add_to_cart' ), 10, 2 );
124
 
 
 
 
 
125
  if ( defined( 'YITH_WCWL' ) && YITH_WCWL ) {
126
  add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'hide_add_to_cart_wishlist' ), 10, 2 );
127
  }
@@ -158,7 +161,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
158
  $admin_tabs['exclusions'] = __( 'Exclusion List', 'yith-woocommerce-catalog-mode' );
159
  $admin_tabs['custom-url'] = __( 'Custom Button Url List', 'yith-woocommerce-catalog-mode' );
160
 
161
- if ( YITH_WCTM()->is_multivendor_active() ) {
162
  $admin_tabs['vendors'] = __( 'Vendor Exclusion List', 'yith-woocommerce-catalog-mode' );
163
  }
164
 
@@ -188,6 +191,63 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
188
  * FRONTEND FUNCTIONS
189
  */
190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191
  /**
192
  * Check if Catalog mode must be applied to current user
193
  *
@@ -200,7 +260,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
200
  */
201
  public function apply_catalog_mode( $post_id ) {
202
 
203
- $target_users = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_price_users' ), $post_id, 'ywctm_hide_price_users' );
204
 
205
  if ( $target_users == 'country' && defined( 'YWCTM_PREMIUM' ) ) {
206
 
@@ -240,120 +300,50 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
240
  */
241
  public function check_hide_cart_checkout_pages() {
242
 
243
- return get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() && get_option( 'ywctm_hide_cart_header' ) == 'yes';
244
 
245
  }
246
 
247
  /**
248
  * Hides "Add to cart" button from single product page
249
  *
250
- * @since 1.0.0
251
  *
252
- * @param $action
253
  *
254
- * @return void
255
  * @author Alberto Ruggiero
256
  */
257
- public function hide_add_to_cart_single( $action = '' ) {
258
 
259
- if ( $action == '' ) {
260
- $action = 'woocommerce_single_product_summary';
261
- }
262
 
263
- $priority = has_action( $action, 'woocommerce_template_single_add_to_cart' );
264
-
265
- if ( $this->check_add_to_cart_single( $priority ) ) {
266
-
267
- add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'hide_add_to_cart_quick_view' ), 10 );
268
-
269
- }
270
 
271
- }
272
-
273
- /**
274
- * Hide add to cart button in quick view
275
- *
276
- * @since 1.0.7
277
- * @return mixed
278
- * @author Francesco Licandro
279
- */
280
- public function hide_add_to_cart_quick_view() {
281
-
282
- $hide_variations = get_option( 'ywctm_hide_variations' );
283
- ob_start();
284
-
285
- $args = array(
286
- 'form.cart button.single_add_to_cart_button'
287
- );
288
-
289
- if ( ! class_exists( 'YITH_YWRAQ_Frontend' ) ) {
290
-
291
- $args[] = 'form.cart .quantity';
292
-
293
- }
294
-
295
- if ( $hide_variations == 'yes' ) {
296
-
297
- $args[] = 'table.variations';
298
- $args[] = 'form.variations_form';
299
- $args[] = '.single_variation_wrap .variations_button';
300
-
301
- }
302
 
303
- $classes = implode( ', ', apply_filters( 'ywctm_catalog_classes', $args ) );
304
 
305
- ?>
306
- <style>
307
 
308
- <?php echo $classes; ?>
309
- {
310
- display: none !important
311
  }
312
 
313
- </style>
314
- <?php
315
- echo ob_get_clean();
316
-
317
- }
318
-
319
- /**
320
- * Check if price is hidden to hide add to cart button
321
- *
322
- * @since 1.0.4
323
- *
324
- * @param $post_id
325
- *
326
- * @return bool
327
- * @author Alberto Ruggiero
328
- */
329
- public function check_price_hidden( $post_id ) {
330
-
331
- $hide = false;
332
-
333
- $hide_price = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_price' ), $post_id, 'ywctm_hide_price' );
334
-
335
- if ( $hide_price == 'yes' ) {
336
-
337
- if ( $this->apply_catalog_mode( $post_id ) ) {
338
-
339
- $enable_exclusion = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_price' ), $post_id, 'ywctm_exclude_hide_price' );
340
- $exclude_catalog = apply_filters( 'ywctm_get_exclusion', get_post_meta( $post_id, '_ywctm_exclude_hide_price', true ), $post_id, '_ywctm_exclude_hide_price' );
341
-
342
- $hide = ( $enable_exclusion != 'yes' ? true : ( $exclude_catalog != 'yes' ? true : false ) );
343
-
344
- $reverse_criteria = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_price_reverse' ), $post_id, 'ywctm_exclude_hide_price_reverse' );
345
 
346
- if ( $enable_exclusion == 'yes' && $reverse_criteria == 'yes' ) {
347
-
348
- $hide = ! $hide;
349
-
350
- }
351
 
352
  }
353
 
 
 
354
  }
355
 
356
- return $hide;
 
357
 
358
  }
359
 
@@ -374,7 +364,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
374
 
375
  if ( get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() ) {
376
 
377
- if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
378
 
379
  $hide = true;
380
 
@@ -387,21 +377,26 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
387
  }
388
 
389
  $post_id = ( $product_id ) ? $product_id : $post->ID;
 
 
 
 
 
390
 
391
  $hide_add_to_cart_single = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_add_to_cart_single' ), $post_id, 'ywctm_hide_add_to_cart_single' );
 
 
 
 
392
 
393
  if ( $hide_add_to_cart_single == 'yes' ) {
394
 
395
  if ( $this->apply_catalog_mode( $post_id ) ) {
396
 
397
  $enable_exclusion = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart' ), $post_id, 'ywctm_exclude_hide_add_to_cart' );
398
- $exclude_catalog = apply_filters( 'ywctm_get_exclusion', get_post_meta( $post_id, '_ywctm_exclude_catalog_mode', true ), $post_id, '_ywctm_exclude_catalog_mode' );
399
 
400
- if ( $priority ) {
401
-
402
- $hide = ( $enable_exclusion != 'yes' ? true : ( $exclude_catalog != 'yes' ? true : false ) );
403
-
404
- }
405
 
406
  $reverse_criteria = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart_reverse' ), $post_id, 'ywctm_exclude_hide_add_to_cart_reverse' );
407
 
@@ -415,7 +410,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
415
 
416
  }
417
 
418
- if ( $this->check_price_hidden( $post_id ) ) {
419
 
420
  $hide = true;
421
 
@@ -444,12 +439,18 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
444
 
445
  if ( get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() ) {
446
 
447
- if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
448
 
449
  $passed = false;
450
 
451
  } else {
452
 
 
 
 
 
 
 
453
  $hide_add_to_cart_single = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_add_to_cart_single' ), $product_id, 'ywctm_hide_add_to_cart_single' );
454
 
455
  if ( $hide_add_to_cart_single == 'yes' ) {
@@ -457,7 +458,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
457
  if ( $this->apply_catalog_mode( $product_id ) ) {
458
 
459
  $enable_exclusion = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart' ), $product_id, 'ywctm_exclude_hide_add_to_cart' );
460
- $exclude_catalog = apply_filters( 'ywctm_get_exclusion', get_post_meta( $product_id, '_ywctm_exclude_catalog_mode', true ), $product_id, '_ywctm_exclude_catalog_mode' );
461
 
462
  $passed = ( $enable_exclusion != 'yes' ? false : ( $exclude_catalog != 'yes' ? false : true ) );
463
 
@@ -473,7 +474,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
473
 
474
  }
475
 
476
- if ( $this->check_price_hidden( $product_id ) ) {
477
 
478
  $passed = false;
479
 
@@ -497,64 +498,69 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
497
 
498
  $hide = false;
499
 
500
- if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
501
 
502
  $hide = true;
503
 
504
  } else {
505
 
506
- global $post;
507
-
508
- $hide_add_to_cart_loop = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_add_to_cart_loop' ), $post->ID, 'ywctm_hide_add_to_cart_loop' );
509
- $hide_variations = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_variations' ), $post->ID, 'ywctm_hide_variations' );
510
 
511
- $can_hide = true;
512
- $product = wc_get_product( $post );
513
-
514
- if ( $product->product_type == 'variable' ) {
515
-
516
- $can_hide = ( $hide_variations == 'yes' ? true : false );
517
 
 
 
518
  }
519
 
520
-
521
  if ( $hide_add_to_cart_loop == 'yes' ) {
522
 
523
- if ( $this->apply_catalog_mode( $post->ID ) ) {
524
 
525
- $enable_exclusion = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart' ), $post->ID, 'ywctm_exclude_hide_add_to_cart' );
526
- $exclude_catalog = apply_filters( 'ywctm_get_exclusion', get_post_meta( $post->ID, '_ywctm_exclude_catalog_mode', true ), $post->ID, '_ywctm_exclude_catalog_mode' );
527
 
528
  $hide = ( $enable_exclusion != 'yes' ? true : ( $exclude_catalog != 'yes' ? true : false ) );
529
 
530
- if ( $product->product_type == 'variable' ) {
 
 
531
 
532
  $hide = $can_hide;
533
 
534
  }
535
 
536
- $reverse_criteria = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart_reverse' ), $post->ID, 'ywctm_exclude_hide_add_to_cart_reverse' );
537
-
538
  if ( $enable_exclusion == 'yes' && $reverse_criteria == 'yes' ) {
539
 
540
  $hide = ! $hide;
541
 
 
 
 
 
 
 
542
  }
543
 
 
544
  }
545
 
546
  }
547
 
548
- if ( $this->check_price_hidden( $post->ID ) && $can_hide ) {
549
 
550
  $hide = true;
551
 
552
  }
553
 
554
-
555
  }
556
 
557
  return $hide;
 
558
  }
559
 
560
  /**
@@ -591,12 +597,15 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
591
  * Hide cart widget if needed
592
  *
593
  * @since 1.3.7
594
- * @return void
 
 
 
595
  * @author Alberto Ruggiero
596
  */
597
- public function hide_cart_widget() {
598
 
599
- if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
600
 
601
  ob_start();
602
 
@@ -604,22 +613,13 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
604
  '.widget.woocommerce.widget_shopping_cart'
605
  );
606
 
607
- $classes = implode( ', ', apply_filters( 'ywctm_cart_widget_classes', $args ) );
608
 
609
- ?>
610
- <style type="text/css">
611
-
612
- <?php echo $classes; ?>
613
- {
614
- display: none !important
615
- }
616
-
617
- </style>
618
- <?php
619
- echo ob_get_clean();
620
 
621
  }
622
 
 
 
623
  }
624
 
625
  /**
@@ -631,7 +631,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
631
  */
632
  public function check_pages_redirect() {
633
 
634
- if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
635
 
636
  $cart = is_page( wc_get_page_id( 'cart' ) );
637
  $checkout = is_page( wc_get_page_id( 'checkout' ) );
@@ -661,7 +661,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
661
  */
662
  public function hide_cart_checkout_pages( $pages ) {
663
 
664
- if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
665
 
666
  $excluded_pages = array(
667
  wc_get_page_id( 'cart' ),
@@ -711,7 +711,7 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
711
 
712
  global $yith_wcwl_is_wishlist;
713
 
714
- if ( $this->check_add_to_cart_single( true, $product->id ) && $yith_wcwl_is_wishlist ) {
715
 
716
  $value = '';
717
 
@@ -819,6 +819,84 @@ if ( ! class_exists( 'YITH_WC_Catalog_Mode' ) ) {
819
  return $plugin_meta;
820
  }
821
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
822
  }
823
 
824
  }
103
  add_action( 'yith_catalog_mode_premium', array( $this, 'premium_tab' ) );
104
 
105
  $this->is_wc_lower_2_6 = version_compare( WC()->version, '2.6.0', '<' );
106
+
107
  if ( get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() ) {
108
 
109
+ if ( ! is_admin() || $this->is_quick_view() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
110
 
111
+ if ( $this->disable_shop() ) {
112
 
113
  $priority = has_action( 'wp_loaded', array( 'WC_Form_Handler', 'add_to_cart_action' ) );
114
  remove_action( 'wp_loaded', array( 'WC_Form_Handler', 'add_to_cart_action' ), $priority );
117
 
118
  add_action( 'wp', array( $this, 'check_pages_redirect' ) );
119
  add_action( 'get_pages', array( $this, 'hide_cart_checkout_pages' ) );
120
+ //add_action( 'woocommerce_single_product_summary', array( $this, 'hide_add_to_cart_single' ), 10 );
121
  add_action( 'woocommerce_before_shop_loop_item_title', array( $this, 'hide_add_to_cart_loop' ), 5 );
 
122
  add_filter( 'woocommerce_add_to_cart_validation', array( $this, 'avoid_add_to_cart' ), 10, 2 );
123
 
124
+ add_action( 'wp_head', array( $this, 'add_ywctm_styles' ) );
125
+ add_filter( 'ywctm_css_classes', array( $this, 'hide_atc_single_page' ) );
126
+ add_filter( 'ywctm_css_classes', array( $this, 'hide_cart_widget' ) );
127
+
128
  if ( defined( 'YITH_WCWL' ) && YITH_WCWL ) {
129
  add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'hide_add_to_cart_wishlist' ), 10, 2 );
130
  }
161
  $admin_tabs['exclusions'] = __( 'Exclusion List', 'yith-woocommerce-catalog-mode' );
162
  $admin_tabs['custom-url'] = __( 'Custom Button Url List', 'yith-woocommerce-catalog-mode' );
163
 
164
+ if ( $this->is_multivendor_active() ) {
165
  $admin_tabs['vendors'] = __( 'Vendor Exclusion List', 'yith-woocommerce-catalog-mode' );
166
  }
167
 
191
  * FRONTEND FUNCTIONS
192
  */
193
 
194
+ /**
195
+ * Disable Shop
196
+ *
197
+ * @since 1.0.0
198
+ * @return boolean
199
+ * @author Alberto Ruggiero
200
+ */
201
+ public function disable_shop() {
202
+
203
+ $disabled = false;
204
+
205
+ if ( get_option( 'ywctm_hide_cart_header' ) == 'yes' ) {
206
+
207
+ global $post;
208
+
209
+ $post_id = isset( $post ) ? $post->ID : '';
210
+
211
+ $disabled = $this->apply_catalog_mode( $post_id );
212
+
213
+ }
214
+
215
+ return $disabled;
216
+
217
+ }
218
+
219
+ /**
220
+ * Adds Catalog Mode styles
221
+ *
222
+ * @since 1.4.4
223
+ * @return void
224
+ * @author Alberto Ruggiero
225
+ */
226
+ public function add_ywctm_styles() {
227
+
228
+ $classes = apply_filters( 'ywctm_css_classes', array() );
229
+
230
+ if ( $classes ) {
231
+
232
+ ob_start();
233
+
234
+ ?>
235
+ <style type="text/css">
236
+
237
+ <?php echo implode( ', ', $classes ); ?>
238
+ {
239
+ display: none !important
240
+ }
241
+
242
+ </style>
243
+
244
+ <?php
245
+
246
+ echo ob_get_clean();
247
+ }
248
+
249
+ }
250
+
251
  /**
252
  * Check if Catalog mode must be applied to current user
253
  *
260
  */
261
  public function apply_catalog_mode( $post_id ) {
262
 
263
+ $target_users = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_price_users', 'all' ), $post_id, 'ywctm_hide_price_users' );
264
 
265
  if ( $target_users == 'country' && defined( 'YWCTM_PREMIUM' ) ) {
266
 
300
  */
301
  public function check_hide_cart_checkout_pages() {
302
 
303
+ return get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() && $this->disable_shop();
304
 
305
  }
306
 
307
  /**
308
  * Hides "Add to cart" button from single product page
309
  *
310
+ * @since 1.4.4
311
  *
312
+ * @param $classes
313
  *
314
+ * @return string
315
  * @author Alberto Ruggiero
316
  */
317
+ public function hide_atc_single_page( $classes ) {
318
 
319
+ if ( $this->check_add_to_cart_single( true ) ) {
 
 
320
 
321
+ $hide_variations = get_option( 'ywctm_hide_variations' );
 
 
 
 
 
 
322
 
323
+ $args = array(
324
+ 'form.cart button.single_add_to_cart_button'
325
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
326
 
327
+ if ( ! class_exists( 'YITH_YWRAQ_Frontend' ) || ( ( class_exists( 'YITH_Request_Quote_Premium' ) ) && ! YITH_Request_Quote_Premium()->check_user_type() ) ) {
328
 
329
+ $args[] = 'form.cart .quantity';
 
330
 
 
 
 
331
  }
332
 
333
+ if ( $hide_variations == 'yes' ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
 
335
+ $args[] = 'table.variations';
336
+ $args[] = 'form.variations_form';
337
+ $args[] = '.single_variation_wrap .variations_button';
 
 
338
 
339
  }
340
 
341
+ $classes = array_merge( $classes, apply_filters( 'ywctm_catalog_classes', $args ) );
342
+
343
  }
344
 
345
+ return $classes;
346
+
347
 
348
  }
349
 
364
 
365
  if ( get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() ) {
366
 
367
+ if ( $this->disable_shop() ) {
368
 
369
  $hide = true;
370
 
377
  }
378
 
379
  $post_id = ( $product_id ) ? $product_id : $post->ID;
380
+ $product = wc_get_product( $post_id );
381
+
382
+ if ( ! $product ) {
383
+ return false;
384
+ }
385
 
386
  $hide_add_to_cart_single = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_add_to_cart_single' ), $post_id, 'ywctm_hide_add_to_cart_single' );
387
+
388
+ if ( $hide_add_to_cart_single != 'yes' ) {error_log('here');
389
+ $hide_add_to_cart_single = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_price' ), $post_id, 'ywctm_hide_price' );
390
+ }
391
 
392
  if ( $hide_add_to_cart_single == 'yes' ) {
393
 
394
  if ( $this->apply_catalog_mode( $post_id ) ) {
395
 
396
  $enable_exclusion = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart' ), $post_id, 'ywctm_exclude_hide_add_to_cart' );
397
+ $exclude_catalog = apply_filters( 'ywctm_get_exclusion', yit_get_prop( $product, '_ywctm_exclude_catalog_mode' ), $post_id, '_ywctm_exclude_catalog_mode' );
398
 
399
+ $hide = ( $enable_exclusion != 'yes' ? true : ( $exclude_catalog != 'yes' ? true : false ) );
 
 
 
 
400
 
401
  $reverse_criteria = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart_reverse' ), $post_id, 'ywctm_exclude_hide_add_to_cart_reverse' );
402
 
410
 
411
  }
412
 
413
+ if ( apply_filters( 'ywctm_check_price_hidden', false, $post_id ) ) {
414
 
415
  $hide = true;
416
 
439
 
440
  if ( get_option( 'ywctm_enable_plugin' ) == 'yes' && $this->check_user_admin_enable() ) {
441
 
442
+ if ( $this->disable_shop() ) {
443
 
444
  $passed = false;
445
 
446
  } else {
447
 
448
+ $product = wc_get_product( $product_id );
449
+
450
+ if ( ! $product ) {
451
+ return true;
452
+ }
453
+
454
  $hide_add_to_cart_single = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_add_to_cart_single' ), $product_id, 'ywctm_hide_add_to_cart_single' );
455
 
456
  if ( $hide_add_to_cart_single == 'yes' ) {
458
  if ( $this->apply_catalog_mode( $product_id ) ) {
459
 
460
  $enable_exclusion = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart' ), $product_id, 'ywctm_exclude_hide_add_to_cart' );
461
+ $exclude_catalog = apply_filters( 'ywctm_get_exclusion', yit_get_prop( $product, '_ywctm_exclude_catalog_mode' ), $product_id, '_ywctm_exclude_catalog_mode' );
462
 
463
  $passed = ( $enable_exclusion != 'yes' ? false : ( $exclude_catalog != 'yes' ? false : true ) );
464
 
474
 
475
  }
476
 
477
+ if ( apply_filters( 'ywctm_check_price_hidden', false, $product_id ) ) {
478
 
479
  $passed = false;
480
 
498
 
499
  $hide = false;
500
 
501
+ if ( $this->disable_shop() ) {
502
 
503
  $hide = true;
504
 
505
  } else {
506
 
507
+ global $product;
508
+
509
+ $product_id = yit_get_product_id( $product );
 
510
 
511
+ $hide_add_to_cart_loop = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_add_to_cart_loop' ), $product_id, 'ywctm_hide_add_to_cart_loop' );
512
+ $hide_variations = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_variations' ), $product_id, 'ywctm_hide_variations' );
513
+ $is_variable = $product->is_type( 'variable' );
514
+ $can_hide = ( $is_variable ? $hide_variations == 'yes' : true );
 
 
515
 
516
+ if ( $hide_add_to_cart_loop != 'yes' ) {
517
+ $hide_add_to_cart_loop = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_hide_price' ), $product_id, 'ywctm_hide_price' );
518
  }
519
 
 
520
  if ( $hide_add_to_cart_loop == 'yes' ) {
521
 
522
+ if ( $this->apply_catalog_mode( $product_id ) ) {
523
 
524
+ $enable_exclusion = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart' ), $product_id, 'ywctm_exclude_hide_add_to_cart' );
525
+ $exclude_catalog = apply_filters( 'ywctm_get_exclusion', yit_get_prop( $product, '_ywctm_exclude_catalog_mode' ), $product_id, '_ywctm_exclude_catalog_mode' );
526
 
527
  $hide = ( $enable_exclusion != 'yes' ? true : ( $exclude_catalog != 'yes' ? true : false ) );
528
 
529
+ $reverse_criteria = apply_filters( 'ywctm_get_vendor_option', get_option( 'ywctm_exclude_hide_add_to_cart_reverse' ), $product_id, 'ywctm_exclude_hide_add_to_cart_reverse' );
530
+
531
+ if ( $is_variable ) {
532
 
533
  $hide = $can_hide;
534
 
535
  }
536
 
 
 
537
  if ( $enable_exclusion == 'yes' && $reverse_criteria == 'yes' ) {
538
 
539
  $hide = ! $hide;
540
 
541
+ if ( $is_variable && ! $can_hide ) {
542
+
543
+ $hide = false;
544
+
545
+ }
546
+
547
  }
548
 
549
+
550
  }
551
 
552
  }
553
 
554
+ if ( apply_filters( 'ywctm_check_price_hidden', false, $product_id ) && $can_hide ) {
555
 
556
  $hide = true;
557
 
558
  }
559
 
 
560
  }
561
 
562
  return $hide;
563
+
564
  }
565
 
566
  /**
597
  * Hide cart widget if needed
598
  *
599
  * @since 1.3.7
600
+ *
601
+ * @param $classes
602
+ *
603
+ * @return string
604
  * @author Alberto Ruggiero
605
  */
606
+ public function hide_cart_widget( $classes ) {
607
 
608
+ if ( $this->disable_shop() ) {
609
 
610
  ob_start();
611
 
613
  '.widget.woocommerce.widget_shopping_cart'
614
  );
615
 
616
+ $classes = array_merge( $classes, apply_filters( 'ywctm_cart_widget_classes', $args ) );
617
 
 
 
 
 
 
 
 
 
 
 
 
618
 
619
  }
620
 
621
+ return $classes;
622
+
623
  }
624
 
625
  /**
631
  */
632
  public function check_pages_redirect() {
633
 
634
+ if ( $this->disable_shop() ) {
635
 
636
  $cart = is_page( wc_get_page_id( 'cart' ) );
637
  $checkout = is_page( wc_get_page_id( 'checkout' ) );
661
  */
662
  public function hide_cart_checkout_pages( $pages ) {
663
 
664
+ if ( $this->disable_shop() ) {
665
 
666
  $excluded_pages = array(
667
  wc_get_page_id( 'cart' ),
711
 
712
  global $yith_wcwl_is_wishlist;
713
 
714
+ if ( $this->check_add_to_cart_single( true, yit_get_product_id( $product ) ) && $yith_wcwl_is_wishlist ) {
715
 
716
  $value = '';
717
 
819
  return $plugin_meta;
820
  }
821
 
822
+ /**
823
+ * DEPRECATED FUNCTIONS
824
+ */
825
+
826
+ /**
827
+ * Hides "Add to cart" button from single product page
828
+ *
829
+ * @since 1.0.0
830
+ *
831
+ * @param $action
832
+ *
833
+ * @return void
834
+ * @author Alberto Ruggiero
835
+ */
836
+ public function hide_add_to_cart_single( $action = '' ) {
837
+
838
+ /*if ( $action == '' ) {
839
+ $action = 'woocommerce_single_product_summary';
840
+ }
841
+
842
+ $priority = has_action( $action, 'woocommerce_template_single_add_to_cart' );
843
+
844
+ if ( $this->check_add_to_cart_single( $priority ) ) {
845
+
846
+ add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'hide_add_to_cart_quick_view' ), 10 );
847
+
848
+ }*/
849
+ return;
850
+
851
+ }
852
+
853
+ /**
854
+ * Hide add to cart button in quick view
855
+ *
856
+ * @since 1.0.7
857
+ * @return mixed
858
+ * @author Francesco Licandro
859
+ */
860
+ public function hide_add_to_cart_quick_view() {
861
+
862
+ /*$hide_variations = get_option( 'ywctm_hide_variations' );
863
+ ob_start();
864
+
865
+ $args = array(
866
+ 'form.cart button.single_add_to_cart_button'
867
+ );
868
+
869
+ if ( ! class_exists( 'YITH_YWRAQ_Frontend' ) || ( ( class_exists( 'YITH_Request_Quote_Premium' ) ) && ! YITH_Request_Quote_Premium()->check_user_type() ) ) {
870
+
871
+ $args[] = 'form.cart .quantity';
872
+
873
+ }
874
+
875
+ if ( $hide_variations == 'yes' ) {
876
+
877
+ $args[] = 'table.variations';
878
+ $args[] = 'form.variations_form';
879
+ $args[] = '.single_variation_wrap .variations_button';
880
+
881
+ }
882
+
883
+ $classes = implode( ', ', apply_filters( 'ywctm_catalog_classes', $args ) );
884
+
885
+ ?>
886
+ <style>
887
+
888
+ <?php echo $classes; ?>
889
+ {
890
+ display: none !important
891
+ }
892
+
893
+ </style>
894
+ <?php
895
+ echo ob_get_clean();**/
896
+ return;
897
+
898
+ }
899
+
900
  }
901
 
902
  }
init.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://yithemes.com/themes/plugins/yith-woocommerce-catalog-mode/
5
  Description: YITH WooCommerce Catalog Mode allows you to disable shop functions.
6
  Author: YITHEMES
7
  Text Domain: yith-woocommerce-catalog-mode
8
- Version: 1.4.0
9
  Author URI: http://yithemes.com/
10
  */
11
 
@@ -34,7 +34,7 @@ function ywctm_install_free_admin_notice() {
34
  }
35
 
36
  if ( !defined( 'YWCTM_VERSION' ) ) {
37
- define( 'YWCTM_VERSION', '1.4.0' );
38
  }
39
 
40
  if ( !defined( 'YWCTM_FREE_INIT' ) ) {
5
  Description: YITH WooCommerce Catalog Mode allows you to disable shop functions.
6
  Author: YITHEMES
7
  Text Domain: yith-woocommerce-catalog-mode
8
+ Version: 1.5.5
9
  Author URI: http://yithemes.com/
10
  */
11
 
34
  }
35
 
36
  if ( !defined( 'YWCTM_VERSION' ) ) {
37
+ define( 'YWCTM_VERSION', '1.5.5' );
38
  }
39
 
40
  if ( !defined( 'YWCTM_FREE_INIT' ) ) {
plugin-fw/assets/js/yit-plugin-panel.js CHANGED
@@ -78,6 +78,17 @@
78
  input.change();
79
  });
80
 
 
 
 
 
 
 
 
 
 
 
 
81
 
82
  //slider
83
  $('.plugin-option .slider_container .ui-slider-horizontal').each(function () {
78
  input.change();
79
  });
80
 
81
+ //colorpicker
82
+ $('.plugin-option .panel-colorpicker').wpColorPicker({
83
+ onInit: function(){ },
84
+ change: function(event, ui){
85
+ },
86
+ clear: function(){
87
+ var input = $(this);
88
+ input.val(input.data('default-color'));
89
+ input.change();
90
+ }
91
+ });
92
 
93
  //slider
94
  $('.plugin-option .slider_container .ui-slider-horizontal').each(function () {
plugin-fw/assets/js/yit-plugin-panel.min.js CHANGED
@@ -1,10 +1 @@
1
- (function(a){var l=function(){var b="";a(this).attr("multiple")?(a(this).children("option:selected").each(function(c,d){0!=c&&(b+=", ");b+=a(d).text()}),""==b&&a(this).children().children("option:selected").each(function(c,d){0!=c&&(b+=", ");b+=a(d).text()})):(b=a(this).children("option:selected").text(),""==b&&(b=a(this).children().children("option:selected").text()));0>=a(this).parent().find("span").length&&a(this).before("<span></span>");a(this).parent().children("span").replaceWith("<span>"+b+
2
- "</span>")};a(".plugin-option .select_wrapper select").not(".chosen").each(l).change(l);a(".plugin-option .select_wrapper").click(function(b){b.stopPropagation();a(this).find("select[multiple]").not(".chosen").toggle()});a(".plugin-option .select_wrapper select[multiple]").not(".chosen").click(function(a){a.stopPropagation()});a(window).click(function(){a(".plugin-option .select_wrapper select[multiple]").not(".chosen").hide()});a(".plugin-option .chosen .select_wrapper select").chosen();a(".plugin-option .onoff_container span").on("click",
3
- function(){var b=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()});a(".plugin-option .slider_container .ui-slider-horizontal").each(function(){var b=a(this).data("val"),c=a(this).data("min"),d=a(this).data("max"),e=a(this).data("step"),f=a(this).data("labels");a(this).slider({value:b,min:c,max:d,range:"min",step:e,slide:function(b,c){a(this).find("input").val(c.value);
4
- a(this).siblings(".feedback").find("strong").text(c.value+f)}})});"undefined"!==typeof wp&&"undefined"!==typeof wp.media&&(a(".plugin-option .upload_img_url").change(function(){var b=a(this).val(),c=a(this).parents().siblings(".upload_img_preview");/(http|ftp|https):\/\/[a-zA-Z0-9@?^=%&amp;:/~+#-_.]*.(gif|jpg|jpeg|png|ico)/.test(b)?c.html('<img src="'+b+'" style="max-width:600px; max-height:300px;" />'):c.html("")}).trigger("change"),a(document).on("click",".plugin-option .upload_button",function(b){b.preventDefault();
5
- var c,d=a(this).attr("id").replace(/-button$/,"");c||(b=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})],c=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,states:b}),c.on("select",function(){var b=c.state().get("selection").first().toJSON();a("#"+d).val(b.url);a("#"+d+"-yith-attachment-id")&&a("#"+d+"-yith-attachment-id").val(b.id);a(".plugin-option .upload_img_url").trigger("change")}));
6
- c.open()}),a(document).on("click",".plugin-option .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);a(".plugin-option .upload_img_url").trigger("change")}));a(".plugin-option .add_media").on("click",function(){});a("[data-field]").each(function(){var b=a(this),c="#"+b.data("field"),d="#"+b.data("dep"),e=b.data("value");a(d).on("change",function(){var b=d,g=e.toString(),h=!0;if("string"==typeof b){":radio"==
7
- b.substr(0,6)&&(b+=":checked");for(var g=g.split(","),k=0;k<g.length;k++)if(a(b).val()!=g[k])h=!1;else{h=!0;break}}h?a(c+"-container").closest("tr").show():a(c+"-container").closest("tr").hide()}).change()});a(".rm_connectedlist").each(function(){var b=a(this).find("ul"),c=a(this).find(":hidden");b.sortable({connectWith:b,update:function(d,e){var f={};b.each(function(){var b={};a(this).children().each(function(){b[a(this).data("option")]=a(this).text()});f[a(this).data("list")]=b});c.val(JSON.stringify(f).replace(/[\\"']/g,
8
- "\\$&").replace(/\u0000/g,"\\0"))}}).disableSelection()});a(document).ready(function(){a(".yith-video-link").click(function(b){b.preventDefault();b=a(this).data("video-id");a("."+b).dialog({dialogClass:"wp-dialog yit-dialog yit-video-dialog",modal:!0,closeOnEscape:!0,width:"auto",resizable:!1,draggable:!1,create:function(b,d){a(this).css("maxWidth","853px")},open:function(b,d){a(".ui-widget-overlay").bind("click",function(){a(this).siblings(".ui-dialog").find(".ui-dialog-content").dialog("close")})}});
9
- a(".ui-dialog :button").blur()})});a(document).ready(function(){a(".codemirror").each(function(b,c){var d=CodeMirror.fromTextArea(c,{lineNumbers:1,mode:"javascript",showCursorWhenSelecting:!0});a(c).data("codemirrorInstance",d)})});a(document).ready(function(){a(".google-analytic-generate").click(function(){var b=a("#"+a(this).data("textarea")).data("codemirrorInstance"),c=a("#"+a(this).data("input")).val(),d=a(this).data("basename"),e;e="(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement( o ),\nm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n";
10
- e+="})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n";e+="ga('create', '"+c+"', '"+d+"');\n";e+="ga('send', 'pageview');\n";b.replaceRange(e,b.getCursor("start"),b.getCursor("end"))})})})(jQuery);
1
+ !function(t){function e(e,i,n){var a=!0;if("string"==typeof i){":radio"==i.substr(0,6)&&(i+=":checked");for(var n=n.split(","),o=0;o<n.length;o++){if(t(i).val()==n[o]){a=!0;break}a=!1}}a?t(e+"-container").closest("tr").show():t(e+"-container").closest("tr").hide()}var i=function(){var e="";t(this).attr("multiple")?(t(this).children("option:selected").each(function(i,n){0!=i&&(e+=", "),e+=t(n).text()}),""==e&&t(this).children().children("option:selected").each(function(i,n){0!=i&&(e+=", "),e+=t(n).text()})):(e=t(this).children("option:selected").text(),""==e&&(e=t(this).children().children("option:selected").text())),t(this).parent().find("span").length<=0&&t(this).before("<span></span>"),t(this).parent().children("span").replaceWith("<span>"+e+"</span>")};if(t(".plugin-option .select_wrapper select").not(".chosen").each(i).change(i),t(".plugin-option .select_wrapper").click(function(e){e.stopPropagation(),t(this).find("select[multiple]").not(".chosen").toggle()}),t(".plugin-option .select_wrapper select[multiple]").not(".chosen").click(function(t){t.stopPropagation()}),t(window).click(function(){t(".plugin-option .select_wrapper select[multiple]").not(".chosen").hide()}),t(".plugin-option .chosen .select_wrapper select").chosen(),t(".plugin-option .onoff_container span").on("click",function(){var e=t(this).prev("input"),i=e.prop("checked");i?e.prop("checked",!1).attr("value","no").removeClass("onoffchecked"):e.prop("checked",!0).attr("value","yes").addClass("onoffchecked"),e.change()}),t(".plugin-option .panel-colorpicker").wpColorPicker({onInit:function(){},change:function(t,e){},clear:function(){var e=t(this);e.val(e.data("default-color")),e.change()}}),t(".plugin-option .slider_container .ui-slider-horizontal").each(function(){var e=t(this).data("val"),i=t(this).data("min"),n=t(this).data("max"),a=t(this).data("step"),o=t(this).data("labels");t(this).slider({value:e,min:i,max:n,range:"min",step:a,slide:function(e,i){t(this).find("input").val(i.value),t(this).siblings(".feedback").find("strong").text(i.value+o)}})}),"undefined"!=typeof wp&&"undefined"!=typeof wp.media){var n=!0;wp.media.editor.send.attachment;t(".plugin-option .upload_img_url").change(function(){var e=t(this).val(),i=new RegExp("(http|ftp|https)://[a-zA-Z0-9@?^=%&amp;:/~+#-_.]*.(gif|jpg|jpeg|png|ico)"),n=t(this).parents().siblings(".upload_img_preview");i.test(e)?n.html('<img src="'+e+'" style="max-width:600px; max-height:300px;" />'):n.html("")}).trigger("change"),t(document).on("click",".plugin-option .upload_button",function(e){e.preventDefault();var i,n=t(this),a=n.attr("id").replace(/-button$/,"");if(i)return void i.open();var o=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})];i=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,states:o}),i.on("select",function(){var e=i.state().get("selection").first().toJSON();t("#"+a).val(e.url),t("#"+a+"-yith-attachment-id")&&t("#"+a+"-yith-attachment-id").val(e.id),t(".plugin-option .upload_img_url").trigger("change")}),i.open()}),t(document).on("click",".plugin-option .upload_button_reset",function(e){var i=t(this),n=i.attr("id"),a=i.attr("id").replace(/-button_reset$/,""),o=t("#"+n).data("default");t("#"+a).val(o),t(".plugin-option .upload_img_url").trigger("change")})}t(".plugin-option .add_media").on("click",function(){n=!1}),t("[data-field]").each(function(){var i=t(this),n="#"+i.data("field"),a="#"+i.data("dep"),o=i.data("value");t(a).on("change",function(){e(n,a,o.toString())}).change()}),t(".rm_connectedlist").each(function(){var e=t(this).find("ul"),i=t(this).find(":hidden");e.sortable({connectWith:e,update:function(n,a){var o={};e.each(function(){var e={};t(this).children().each(function(){e[t(this).data("option")]=t(this).text()}),o[t(this).data("list")]=e}),i.val(JSON.stringify(o).replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0"))}}).disableSelection()}),t(document).ready(function(){t(".yith-video-link").click(function(e){e.preventDefault();var i=t(this).data("video-id");t("."+i).dialog({dialogClass:"wp-dialog yit-dialog yit-video-dialog",modal:!0,closeOnEscape:!0,width:"auto",resizable:!1,draggable:!1,create:function(e,i){t(this).css("maxWidth","853px")},open:function(e,i){t(".ui-widget-overlay").bind("click",function(){t(this).siblings(".ui-dialog").find(".ui-dialog-content").dialog("close")})}}),t(".ui-dialog :button").blur()})}),t(document).ready(function(){t(".codemirror").each(function(e,i){var n=CodeMirror.fromTextArea(i,{lineNumbers:1,mode:"javascript",showCursorWhenSelecting:!0});t(i).data("codemirrorInstance",n)})}),t(document).ready(function(){t(".google-analytic-generate").click(function(){var e=t("#"+t(this).data("textarea")).data("codemirrorInstance"),i=t("#"+t(this).data("input")).val(),n=t(this).data("basename"),a="(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n";a+="(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement( o ),\n",a+="m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n",a+="})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n",a+="ga('create', '"+i+"', '"+n+"');\n",a+="ga('send', 'pageview');\n",e.replaceRange(a,e.getCursor("start"),e.getCursor("end"))})})}(jQuery);
 
 
 
 
 
 
 
 
 
plugin-fw/init.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
- * Version: 2.9.29
5
  * Author: Yithemes
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
@@ -19,7 +19,6 @@
19
  * http://www.gnu.org/licenses/gpl-3.0.txt
20
  */
21
 
22
-
23
  if ( ! defined ( 'ABSPATH' ) ) {
24
  exit;
25
  } // Exit if accessed directly
@@ -55,3 +54,5 @@ if ( ! function_exists ( 'yit_maybe_plugin_fw_loader' ) ) {
55
  }
56
  }
57
  }
 
 
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
+ * Version: 2.9.57
5
  * Author: Yithemes
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
19
  * http://www.gnu.org/licenses/gpl-3.0.txt
20
  */
21
 
 
22
  if ( ! defined ( 'ABSPATH' ) ) {
23
  exit;
24
  } // Exit if accessed directly
54
  }
55
  }
56
  }
57
+
58
+
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-05-16 16:37+0200\n"
8
- "PO-Revision-Date: 2016-05-24 15:45+0100\n"
9
  "Last-Translator: \n"
10
  "Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
11
  "Language: es_ES\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 1.8.7\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"
@@ -146,10 +146,11 @@ msgstr "Reescribir"
146
 
147
  #: lib/yit-cpt-unlimited.php:1059
148
  msgid ""
149
- "Univocal identification name in the URL for each product (slug from post if empty)"
 
150
  msgstr ""
151
- "Nombre de identificación único en la URL para cada producto (slug desde la entrada "
152
- "si está vacío)"
153
 
154
  #: lib/yit-cpt-unlimited.php:1064
155
  msgid "Label in Singular"
@@ -157,7 +158,8 @@ msgstr "Etiqueta en singular"
157
 
158
  #: lib/yit-cpt-unlimited.php:1065
159
  msgid "Set a label in singular (title of portfolio if empty)"
160
- msgstr "Establecer una etiqueta en singular (título del portafolio si está vacío)"
 
161
 
162
  #: lib/yit-cpt-unlimited.php:1070
163
  msgid "Label in Plural"
@@ -165,7 +167,8 @@ msgstr "Etiqueta en Plural"
165
 
166
  #: lib/yit-cpt-unlimited.php:1071
167
  msgid "Set a label in plural (title of portfolio if empty)"
168
- msgstr "Establecer una etiqueta en plural (título del portafolio si está vacío)"
 
169
 
170
  #: lib/yit-cpt-unlimited.php:1076
171
  msgid "Taxonomy"
@@ -173,14 +176,14 @@ msgstr "Taxonomía"
173
 
174
  #: lib/yit-cpt-unlimited.php:1077
175
  msgid ""
176
- "If you want to use categories in the portfolio, set a name for taxonomy. Name "
177
- "should be a slug (must not contain capital letters nor spaces) and must not be "
178
- "more than 32 characters long (database structure restriction)."
179
  msgstr ""
180
  "Si quieres usar categorías en el portafolio, establece un nombre para la "
181
- "taxonomía. El nombre debería ser un slug (no debe contener mayúsculas ni espacios) "
182
- "y no debe ser más largo de 32 caracteres (restricción de estructura de base de "
183
- "datos)."
184
 
185
  #: lib/yit-cpt-unlimited.php:1082
186
  msgid "Taxonomy Rewrite"
@@ -233,7 +236,7 @@ msgstr "Ocultar barra lateral"
233
  msgid "Show sidebar"
234
  msgstr "Mostrar barra lateral"
235
 
236
- #: lib/yit-plugin-panel-wc.php:359
237
  msgid "The changes you have made will be lost if you leave this page."
238
  msgstr "Los cambios que has hecho se perderán si sales de esta página."
239
 
@@ -241,72 +244,80 @@ msgstr "Los cambios que has hecho se perderán si sales de esta página."
241
  msgid "Plugin Settings"
242
  msgstr "Ajustes del plugin"
243
 
244
- #: lib/yit-plugin-panel.php:293
245
- msgid "Premium version upgrade"
246
- msgstr "Actualiza a la versión premium"
247
 
248
- #: lib/yit-plugin-panel.php:344 lib/yit-plugin-subpanel.php:146
249
  #: templates/panel/woocommerce/woocommerce-form.php:11
250
  msgid "Save Changes"
251
  msgstr "Guardar cambios"
252
 
253
- #: lib/yit-plugin-panel.php:347 templates/panel/woocommerce/woocommerce-form.php:14
254
- msgid "If you continue with this action, you will reset all options in this page."
255
- msgstr "Si sigues con esta acción, se reiniciarán todas las opciones en esta página."
 
 
 
256
 
257
- #: lib/yit-plugin-panel.php:349 lib/yit-plugin-subpanel.php:151
258
  msgid "Reset to default"
259
  msgstr "Reiniciar a predeterminado"
260
 
261
- #: lib/yit-plugin-panel.php:349 lib/yit-plugin-subpanel.php:151
262
  #: templates/panel/woocommerce/woocommerce-form.php:18
263
  msgid "Are you sure?"
264
  msgstr "¿Estás seguro/a?"
265
 
266
- #: lib/yit-plugin-panel.php:545
267
- msgid "The element you have entered already exists. Please, enter another name."
268
- msgstr "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
 
 
269
 
270
- #: lib/yit-plugin-panel.php:546
271
  msgid "Settings saved"
272
  msgstr "Ajustes guardados"
273
 
274
- #: lib/yit-plugin-panel.php:547
275
  msgid "Settings reset"
276
  msgstr "Ajustes reiniciados"
277
 
278
- #: lib/yit-plugin-panel.php:548
279
  msgid "Element deleted correctly."
280
  msgstr "Elemento borrado correctamente."
281
 
282
- #: lib/yit-plugin-panel.php:549 lib/yit-plugin-panel.php:550
283
  msgid "Element updated correctly."
284
  msgstr "Elemento actualizado correctamente."
285
 
286
- #: lib/yit-plugin-panel.php:551
287
  msgid "Database imported correctly."
288
  msgstr "Base de datos importada correctamente."
289
 
290
- #: lib/yit-plugin-panel.php:552
291
  msgid "An error has occurred during import. Please try again."
292
- msgstr "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
 
293
 
294
- #: lib/yit-plugin-panel.php:553
295
  msgid "The added file is not valid."
296
  msgstr "El archivo añadido no es válido."
297
 
298
- #: lib/yit-plugin-panel.php:554
299
  msgid "Sorry, import is disabled."
300
  msgstr "Lo sentimos, la importación está deshabilitada."
301
 
302
- #: lib/yit-plugin-panel.php:555
303
  msgid "Sorting successful."
304
  msgstr "Clasificación fue realizada con éxito."
305
 
306
  #: lib/yit-plugin-subpanel.php:149
307
  msgid ""
308
- "If you continue with this action, you will reset all the options in this page."
309
- msgstr "Si continúas con esta acción, reiniciarás todas las opciones de esta página."
 
 
310
 
311
  #: lib/yit-pointers.php:70
312
  msgid "Plugins Activated"
@@ -315,13 +326,14 @@ msgstr "Plugins Activados"
315
  #: lib/yit-pointers.php:71
316
  msgid ""
317
  "From now on, you can find all plugin options in YIT Plugin menu.\n"
318
- " For each plugin installed, customization "
319
- "settings will be available as a new entry in YIT Plugin menu."
320
  msgstr ""
321
- "De ahora en adelante, puedes encontrar todas las opciones del plugin en el menú "
322
- "YIT Plugin.\n"
323
- " Para cada plugin instalado, los ajustes de "
324
- "personalización estarán disponibles como una nueva entrada en el menú YIT Plugin."
 
325
 
326
  #: lib/yit-pointers.php:73 lib/yit-pointers.php:89
327
  msgid "Discover all our plugins available on:"
@@ -338,111 +350,117 @@ msgstr "Plugins Actualizados"
338
  #: lib/yit-pointers.php:85
339
  msgid ""
340
  "From now on, you can find all options of your plugins in YIT Plugin menu.\n"
341
- " Any time one of our plugins is updated, a new "
342
- "entry will be added to this menu.\n"
343
- " For example, after the update, plugin options "
344
- "(such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.)\n"
345
- " will be moved from previous location to YIT "
346
- "Plugin tab."
 
347
  msgstr ""
348
- "De ahora en adelante, puedes encontrar todas las opciones de tus plugins en el "
349
- "menú YIT Plugin.\n"
350
  " Cada vez que uno de nuestros plugins sea "
351
  "actualizado, se añadirá una nueva entrada a este menú.\n"
352
  " Por ejemplo, después de actualizar, las "
353
- "opciones del plugin (como las de YITH WooCommerce Wishlist, YITH WooCommerce Ajax "
354
- "Search, etc.)\n"
355
  " se moverán de su posición anterior a la "
356
  "pestaña YIT Plugin."
357
 
358
- #: lib/yit-upgrade.php:136
359
  msgid "There is a new version of %plugin_name% available."
360
  msgstr "Hay una nueva versión de %plugin_name% disponible."
361
 
362
- #: lib/yit-upgrade.php:137
363
  msgid "View version %latest% details."
364
  msgstr "Ver detalles de la %latest% versión"
365
 
366
- #: lib/yit-upgrade.php:138
367
  msgid "Automatic update is unavailable for this plugin,"
368
  msgstr "Las actualizaciones automáticas no están disponibles para este plugin,"
369
 
370
- #: lib/yit-upgrade.php:139
371
- msgid "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
372
- msgstr "por favor, <a href=\"%activate_link%\">activa</a> tu copia de %plugin_name%."
 
 
373
 
374
- #: lib/yit-upgrade.php:140
375
  msgid "Update now."
376
  msgstr "Actualiza ahora."
377
 
378
- #: lib/yit-upgrade.php:243
379
  msgid "YIThemes Repository"
380
  msgstr "Repositorio YIThemes"
381
 
382
- #: lib/yit-upgrade.php:277
383
  msgid "Invalid URL Provided."
384
  msgstr "La URL proporcionada no es válida."
385
 
386
- #: lib/yit-upgrade.php:290
387
  msgid "Could not create Temporary file."
388
  msgstr "No se pudo crear un archivo temporal."
389
 
390
- #: lib/yit-upgrade.php:432
391
  #, php-format
392
  msgid ""
393
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
394
- "changelog-button\" title=\"%3$s\">View version %4$s details</a>."
395
  msgstr ""
396
- "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox yit-"
397
- "changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>."
398
 
399
- #: lib/yit-upgrade.php:434
400
  #, php-format
401
  msgid ""
402
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
403
- "changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>You have to "
404
- "activate the plugin on a single site of the network to benefit from automatic "
405
- "updates.</em>"
406
  msgstr ""
407
- "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox yit-"
408
- "changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>. <em>Tienes "
409
- "que activar el plugin en un único sitio web desdela red para beneficiarte de las "
410
- "actualizaciones automáticas.</em>"
411
 
412
- #: lib/yit-upgrade.php:436
413
  #, php-format
414
  msgid ""
415
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
416
- "changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
417
- "update is unavailable for this plugin, please <a href=\"%5$s\" title=\"License "
418
- "activation\">activate</a> your copy of %6s.</em>"
419
  msgstr ""
420
- "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox yit-"
421
- "changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>. <em>Las "
422
- "actualizaciones automáticas no están disponibles para este plugin, por favor <a "
423
- "href=\"%5$s\" title=\"License activation\">activa</a> tu copia de %6s.</em>"
 
424
 
425
- #: lib/yit-upgrade.php:438
426
  #, php-format
427
  msgid ""
428
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
429
- "changelog-button\" title=\"%3$s\">View version %4$s details</a> or <a href=\"%5$s"
430
- "\">update now</a>."
431
  msgstr ""
432
- "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox yit-"
433
- "changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a> o <a href="
434
- "\"%5$s\">actualizar ahora</a>."
435
 
436
- #: lib/yit-upgrade.php:511
437
  msgid "You can't update the plugins for this site."
438
  msgstr "No puedes actualizar los plugins para este sitio web."
439
 
440
- #: lib/yit-upgrade.php:515
441
- msgid "You do not have sufficient permissions to update the plugins for this site."
 
442
  msgstr ""
443
- "No tienes suficientes permisos para actualizar los plugins para este sitio web."
 
444
 
445
- #: lib/yit-upgrade.php:522
446
  msgid "Update Plugin"
447
  msgstr "Actualizar Plugin"
448
 
@@ -460,8 +478,8 @@ msgstr "Los campos %s y %s no pueden estar vacíos"
460
  #: licence/lib/yit-licence.php:184
461
  msgid "Unable to contact the remote server, please try again later. Thanks!"
462
  msgstr ""
463
- "No fue posible contactar con el servidor remoto, por favor, inténtalo de nuevo más "
464
- "tarde. ¡Gracias!"
465
 
466
  #: licence/lib/yit-licence.php:185
467
  #: licence/templates/panel/activation/activation-panel.php:88
@@ -482,7 +500,8 @@ msgstr "Clave de Licencia"
482
  #: licence/lib/yit-licence.php:187
483
  msgid "Are you sure you want to deactivate the license for current site?"
484
  msgstr ""
485
- "¿Estás seguro/a de que quieres desactivar la licencia para el sitio web actual?"
 
486
 
487
  #: licence/lib/yit-licence.php:667
488
  msgid "Invalid Request"
@@ -517,8 +536,9 @@ msgid "License key has been banned"
517
  msgstr "La clave de licencia ha sido bloqueada"
518
 
519
  #: licence/lib/yit-licence.php:675
520
- msgid "Current product is not included with your membership key"
521
- msgstr "El producto actual no está incluido en tu clave de suscripción"
 
522
 
523
  #: licence/lib/yit-licence.php:676
524
  msgid "Great"
@@ -545,34 +565,34 @@ msgstr "%s"
545
 
546
  #: licence/lib/yit-theme-licence.php:159
547
  msgid ""
548
- "I cannot find the license key for activating the theme I have bought some time "
549
- "ago. Where can I find it?"
550
  msgstr ""
551
  "No puedo encontrar la clave de licencia para activar el tema que compré hace "
552
  "tiempo. ¿Dónde la puedo encontrar?"
553
 
554
  #: licence/lib/yit-theme-licence.php:163
555
  msgid ""
556
- "If you have purchased one of our products before 27 January 2015, you can benefit "
557
- "from support and updates (the services offered with the license)\n"
558
- " until 27 January 2016 and you do not have to purchase it again "
559
- "to get a new license key, because, before this date, your license used to be "
560
- "activated automatically by our system.\n"
561
- " After 27 January 2016, instead, if you want to benefit from "
562
- "support and updates you have to buy a new license and activate it through the "
563
- "license key you will be\n"
564
- " provided with and that you can find in your YIThemes account, "
565
- "in section \"My licenses\"."
566
  msgstr ""
567
- "Si has comprado uno de nuestros productos antes del 27 de enero de 2015, puedes "
568
- "beneficiarte del soporte y actualizaciones (los servicios incluidos con la "
569
- "licencia)\n"
570
- " hasta el 27 de enero de 2016 y no tendrás que comprarla otra "
571
- "vez para conseguir una nueva clave de licencia, porque, antes de esta fecha, tu "
572
- "licencia se activaba automáticamente por nuestro sistema.\n"
573
  " Después del 27 de enero de 2016, sin embargo, si quieres "
574
- "beneficiarte de nuestro soporte y actualizaciones, tienes que comprar una nueva "
575
- "licencia y activarla a través de la clave de licencia que \n"
576
  " se te proporcionará y que podrás encontrar en tu cuenta "
577
  "YIThemes, en la sección \"My licenses\"."
578
 
@@ -620,8 +640,8 @@ msgid "Remaining"
620
  msgstr "Queda"
621
 
622
  #: licence/templates/panel/activation/activation-panel.php:97
623
- msgid "Membership"
624
- msgstr "Suscripción"
625
 
626
  #: licence/templates/panel/activation/activation-panel.php:101
627
  msgid "License Actions"
@@ -748,11 +768,12 @@ msgstr "Nombre del dato."
748
  #: templates/metaboxes/types/contactform.php:90
749
  #: templates/metaboxes/types/contactform.php:282
750
  msgid ""
751
- "REQUIRED: Field identification name to be entered into email body. <strong>Note:</"
752
- "strong>Use only lowercase characters and underscores."
753
  msgstr ""
754
- "OBLIGATORIO: El nombre del campo de identificación debe introducirse en el cuerpo "
755
- "del email. <strong> Nota: </strong> Usa sólo minúsculas y guiones bajos."
 
756
 
757
  #: templates/metaboxes/types/contactform.php:95
758
  #: templates/metaboxes/types/contactform.php:287
@@ -772,7 +793,8 @@ msgstr "Campo seleccionado"
772
  #: templates/metaboxes/types/contactform.php:112
773
  #: templates/metaboxes/types/contactform.php:304
774
  msgid "Select this option if you want this field appears as already checked."
775
- msgstr "Selecciona esta opción si quieres que este campo aparezca como ya marcado."
 
776
 
777
  #: templates/metaboxes/types/contactform.php:117
778
  #: templates/metaboxes/types/contactform.php:309
@@ -838,8 +860,10 @@ msgstr "Clase"
838
 
839
  #: templates/metaboxes/types/contactform.php:170
840
  #: templates/metaboxes/types/contactform.php:362
841
- msgid "Insert additional class(es) (separated by commas) for more personalization."
842
- msgstr "Inserta clase(s) adicionales (separados por comas) para más personalización."
 
 
843
 
844
  #: templates/metaboxes/types/contactform.php:175
845
  #: templates/metaboxes/types/contactform.php:367
@@ -915,7 +939,8 @@ msgstr "(Por defecto: <i %s></i> )"
915
 
916
  #: templates/metaboxes/types/image-gallery.php:40
917
  #: templates/metaboxes/types/image-gallery.php:45
918
- #: templates/metaboxes/types/images.php:38 templates/metaboxes/types/images.php:64
 
919
  msgid "Delete image"
920
  msgstr "Borrar imagen"
921
 
@@ -1043,128 +1068,130 @@ msgstr "Reinicia"
1043
  msgid "Reset Defaults"
1044
  msgstr "Ajustes predeterminados"
1045
 
1046
- #: templates/upgrade/upgrade-to-pro-version.php:2
1047
- msgid "Upgrade to Premium Version"
1048
- msgstr "Actualizar a la Versión Premium"
1049
-
1050
- #: templates/upgrade/upgrade-to-pro-version.php:3
1051
- msgid ""
1052
- "Have you purchased the premium version of a plugin? Don't you know how to activate "
1053
- "the license after the purchase?"
1054
- msgstr ""
1055
- "¿Has comprado la versión premium de un plugin? ¿No sabes cómo activar la licencia "
1056
- "después de la compra?"
1057
-
1058
- #: templates/upgrade/upgrade-to-pro-version.php:5
1059
- msgid ""
1060
- "To upgrade from a FREE to a PREMIUM plugin is not suffice to insert the license "
1061
- "key provided after the purchase.\n"
1062
- " The reason is that they are two distinct products, with significant "
1063
- "differences both for available options and for number of files included in the "
1064
- "plugin package.\n"
1065
- " To start to use the PREMIUM version of the plugin, you simply need to "
1066
- "download the PREMIUM packet and install it on your site."
1067
- msgstr ""
1068
- "Para actualizar a del plugin FREE al PREMIUMT no es suficiente con insertar la "
1069
- "clave de licencia proporcionada después de la compra.\n"
1070
- " La razón es que son dos productos diferentes, con diferencias "
1071
- "significativas en las opciones disponibles para el número de archivos incluidos en "
1072
- "el paquete del plugin.\n"
1073
- " Para empezar a usar la versión PREMIUM del plugin, simplemente necesitas "
1074
- "descargar el paquete PREMIUM e instalarlo en tu sitio web."
1075
-
1076
- #: templates/upgrade/upgrade-to-pro-version.php:9
1077
- #, php-format
1078
- msgid ""
1079
- "%1$sDo you need to know how to do it?%2$s Easy! %1$sFollow this list of steps%2$s "
1080
- "and in a few minutes the plugin you purchased will be installed on your site"
1081
- msgstr ""
1082
- "%1$s¿Necesitas saber cómo hacerlo?%2$s ¡Fácil! %1$sSigue estos pasos%2$s y en unos "
1083
- "minutos el plugin que has comprado estará instalado en tu sitio web"
1084
-
1085
- #: templates/upgrade/upgrade-to-pro-version.php:12
1086
- msgid "Go to yithemes.com and login to \"My Account\" page"
1087
- msgstr "Ve a yithemes.com e inicia sesión en la página \"Mi cuenta\""
1088
-
1089
- #: templates/upgrade/upgrade-to-pro-version.php:18
1090
- msgid ""
1091
- "From the menu on the left, click on \"My Downloads\", look for the plugin you want "
1092
- "to install among the available downloads and click on \"Download\" button"
1093
- msgstr ""
1094
- "Desde el menú de la izquierda, haz click en \"Mis Descargas\", busca el plugin que "
1095
- "te quieres descargar entre las descargas disponibles y haz click en el botón "
1096
- "\"Descargar\""
1097
-
1098
- #: templates/upgrade/upgrade-to-pro-version.php:24
1099
- msgid ""
1100
- "After downloading the packet, go to your website and login to WordPress "
1101
- "administration area."
1102
- msgstr ""
1103
- "Después de descargar el paquete, ve a tu sitio web y regístrate en el área de "
1104
- "administración de WordPress."
1105
-
1106
- #: templates/upgrade/upgrade-to-pro-version.php:30
1107
- msgid ""
1108
- "From the menu on the left, click on \"Plugins\". You will be redirected to the "
1109
- "page where you will find the complete list of all the plugins available on your "
1110
- "site. Click on \"Add New\" button that you find above on the left to add a new "
1111
- "plugin"
1112
- msgstr ""
1113
- "Desde el menú de la izquierda, haz click en \"Plugins\". Serás redirigido/a a la "
1114
- "página donde podrás encontrar la lista completa de plugins disponible en tu sitio "
1115
- "web. Haz click en el botón \"Añadir Nuevo\" que encontrarás arriba a la izquierda "
1116
- "para añadir un nuevo plugin"
1117
-
1118
- #: templates/upgrade/upgrade-to-pro-version.php:36
1119
- msgid ""
1120
- "You will be redirected to a new page where you will find, above on the left next "
1121
- "to the page title, the \"Upload Plugin\" button."
1122
- msgstr ""
1123
- "Serás redirigido/a a una nueva página donde encontrarás, en la parte superior "
1124
- "izquierda, junto al título de la página, el botón \"Actualizar Plugin\""
1125
-
1126
- #: templates/upgrade/upgrade-to-pro-version.php:42
1127
- msgid ""
1128
- "Click on \"Upload Plugins\" button to start the upload of the PREMIUM version of "
1129
- "the plugin previously downloaded. Click on \"Select File\", search for the "
1130
- "download folder related to the plugin and upload the package. Now you only need to "
1131
- "wait a few minutes for the upload and the installation on your site. (We used YITH "
1132
- "Live Chat plugin by way of example)"
1133
- msgstr ""
1134
- "Haz click en el botón \"Actualizar Plugins\" para actualizar la versión premium "
1135
- "del plugin anteriormente descargada. Haz click en \"Seleccionar Archivo\", busca "
1136
- "la carpeta relacionada al plugin y actualiza el paquete. Ahora sólo necesitas "
1137
- "esperar unos minutos para actualizarlo e instalarlo en tu sitio web. (Usamos YITH "
1138
- "Live Chat a modo de ejemplo)"
1139
-
1140
- #: templates/upgrade/upgrade-to-pro-version.php:48
1141
- msgid "After completing the installation, click on \"Activate plugin\""
1142
- msgstr "Después de completar la instalación, haz click en \"Activar plugin\""
1143
-
1144
- #: templates/upgrade/upgrade-to-pro-version.php:52
1145
- msgid ""
1146
- "If everything worked allright, your plugin is now correctly installed on your "
1147
- "website. Enjoy it :-)"
1148
- msgstr ""
1149
- "Si todo funcionó bien, tu plugin está ahora correctamente instalado en tu sitio "
1150
- "web. Disfrútalo :-)"
1151
-
1152
- #: templates/upgrade/upgrade-to-pro-version.php:55
1153
- msgid ""
1154
- "The last step is the activation of the plugin through its license key you received "
1155
- "after the purchase. Click on \"License Activation\" that you find in \"YITH Plugins"
1156
- "\" and insert the license key and the email address you used during the purchase."
1157
- msgstr ""
1158
- "El último paso es la activación del plugin a través de la clave de licencia, que "
1159
- "recibiste después de la compra. Haz click en \"Activación de la licencia\", que "
1160
- "encontrarás en \"YITH Plugins\" e introduce la dirección de email que usaste "
1161
- "durante la compra."
1162
-
1163
- #: templates/upgrade/upgrade-to-pro-version.php:61
1164
- msgid ""
1165
- "In case you had difficulty to recover the license key we sent you by email, you "
1166
- "can easily find it in \"My Licenses\" section of your account on yithemes.com"
1167
- msgstr ""
1168
- "En caso de que hayas tenido dificultad para recuperar la clave de licencia que te "
1169
- "enviamos por email, puedes encontrarla fácilmente en la sección \"Mis Licencias\" "
1170
- "de tu cuenta en yithemes.com"
 
 
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"
146
 
147
  #: lib/yit-cpt-unlimited.php:1059
148
  msgid ""
149
+ "Univocal identification name in the URL for each product (slug from post if "
150
+ "empty)"
151
  msgstr ""
152
+ "Nombre de identificación único en la URL para cada producto (slug desde la "
153
+ "entrada si está vacío)"
154
 
155
  #: lib/yit-cpt-unlimited.php:1064
156
  msgid "Label in Singular"
158
 
159
  #: lib/yit-cpt-unlimited.php:1065
160
  msgid "Set a label in singular (title of portfolio if empty)"
161
+ msgstr ""
162
+ "Establecer una etiqueta en singular (título del portafolio si está vacío)"
163
 
164
  #: lib/yit-cpt-unlimited.php:1070
165
  msgid "Label in Plural"
167
 
168
  #: lib/yit-cpt-unlimited.php:1071
169
  msgid "Set a label in plural (title of portfolio if empty)"
170
+ msgstr ""
171
+ "Establecer una etiqueta en plural (título del portafolio si está vacío)"
172
 
173
  #: lib/yit-cpt-unlimited.php:1076
174
  msgid "Taxonomy"
176
 
177
  #: lib/yit-cpt-unlimited.php:1077
178
  msgid ""
179
+ "If you want to use categories in the portfolio, set a name for taxonomy. "
180
+ "Name should be a slug (must not contain capital letters nor spaces) and must "
181
+ "not be more than 32 characters long (database structure restriction)."
182
  msgstr ""
183
  "Si quieres usar categorías en el portafolio, establece un nombre para la "
184
+ "taxonomía. El nombre debería ser un slug (no debe contener mayúsculas ni "
185
+ "espacios) y no debe ser más largo de 32 caracteres (restricción de "
186
+ "estructura de base de datos)."
187
 
188
  #: lib/yit-cpt-unlimited.php:1082
189
  msgid "Taxonomy Rewrite"
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
 
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"
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"
334
+ " Para cada plugin instalado, los ajustes "
335
+ "de personalización estarán disponibles como una nueva entrada en el menú YIT "
336
+ "Plugin."
337
 
338
  #: lib/yit-pointers.php:73 lib/yit-pointers.php:89
339
  msgid "Discover all our plugins available on:"
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"
363
  " Cada vez que uno de nuestros plugins sea "
364
  "actualizado, se añadirá una nueva entrada a este menú.\n"
365
  " Por ejemplo, después de actualizar, las "
366
+ "opciones del plugin (como las de YITH WooCommerce Wishlist, YITH WooCommerce "
367
+ "Ajax Search, etc.)\n"
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>. "
437
+ "<em>Las actualizaciones automáticas no están disponibles para este plugin, "
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
 
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
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"
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"
565
 
566
  #: licence/lib/yit-theme-licence.php:159
567
  msgid ""
568
+ "I cannot find the license key for activating the theme I have bought some "
569
+ "time ago. Where can I find it?"
570
  msgstr ""
571
  "No puedo encontrar la clave de licencia para activar el tema que compré hace "
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"
578
+ " until 27 January 2016 and you do not have to purchase it "
579
+ "again to get a new license key, because, before this date, your license used "
580
+ "to be activated automatically by our system.\n"
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, "
588
+ "puedes beneficiarte del soporte y actualizaciones (los servicios incluidos "
589
+ "con la licencia)\n"
590
+ " hasta el 27 de enero de 2016 y no tendrás que comprarla "
591
+ "otra vez para conseguir una nueva clave de licencia, porque, antes de esta "
592
+ "fecha, tu licencia se activaba automáticamente por nuestro sistema.\n"
593
  " Después del 27 de enero de 2016, sin embargo, si quieres "
594
+ "beneficiarte de nuestro soporte y actualizaciones, tienes que comprar una "
595
+ "nueva licencia y activarla a través de la clave de licencia que \n"
596
  " se te proporcionará y que podrás encontrar en tu cuenta "
597
  "YIThemes, en la sección \"My licenses\"."
598
 
640
  msgstr "Queda"
641
 
642
  #: licence/templates/panel/activation/activation-panel.php:97
643
+ msgid "Club Subscription"
644
+ msgstr "Suscripción a Club"
645
 
646
  #: licence/templates/panel/activation/activation-panel.php:101
647
  msgid "License Actions"
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
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
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
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
 
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"
1076
+
1077
+ #~ msgid "Membership"
1078
+ #~ msgstr "Suscripción"
1079
+
1080
+ #~ msgid "Upgrade to Premium Version"
1081
+ #~ msgstr "Actualizar a la Versión Premium"
1082
+
1083
+ #~ msgid ""
1084
+ #~ "Have you purchased the premium version of a plugin? Don't you know how to "
1085
+ #~ "activate the license after the purchase?"
1086
+ #~ msgstr ""
1087
+ #~ "¿Has comprado la versión premium de un plugin? ¿No sabes cómo activar la "
1088
+ #~ "licencia después de la compra?"
1089
+
1090
+ #~ msgid ""
1091
+ #~ "To upgrade from a FREE to a PREMIUM plugin is not suffice to insert the "
1092
+ #~ "license key provided after the purchase.\n"
1093
+ #~ " The reason is that they are two distinct products, with "
1094
+ #~ "significant differences both for available options and for number of "
1095
+ #~ "files included in the plugin package.\n"
1096
+ #~ " To start to use the PREMIUM version of the plugin, you simply "
1097
+ #~ "need to download the PREMIUM packet and install it on your site."
1098
+ #~ msgstr ""
1099
+ #~ "Para actualizar a del plugin FREE al PREMIUMT no es suficiente con "
1100
+ #~ "insertar la clave de licencia proporcionada después de la compra.\n"
1101
+ #~ " La razón es que son dos productos diferentes, con diferencias "
1102
+ #~ "significativas en las opciones disponibles para el número de archivos "
1103
+ #~ "incluidos en el paquete del plugin.\n"
1104
+ #~ " Para empezar a usar la versión PREMIUM del plugin, simplemente "
1105
+ #~ "necesitas descargar el paquete PREMIUM e instalarlo en tu sitio web."
1106
+
1107
+ #~ msgid ""
1108
+ #~ "%1$sDo you need to know how to do it?%2$s Easy! %1$sFollow this list of "
1109
+ #~ "steps%2$s and in a few minutes the plugin you purchased will be installed "
1110
+ #~ "on your site"
1111
+ #~ msgstr ""
1112
+ #~ "%1$s¿Necesitas saber cómo hacerlo?%2$s ¡Fácil! %1$sSigue estos pasos%2$s "
1113
+ #~ "y en unos minutos el plugin que has comprado estará instalado en tu sitio "
1114
+ #~ "web"
1115
+
1116
+ #~ msgid "Go to yithemes.com and login to \"My Account\" page"
1117
+ #~ msgstr "Ve a yithemes.com e inicia sesión en la página \"Mi cuenta\""
1118
+
1119
+ #~ msgid ""
1120
+ #~ "From the menu on the left, click on \"My Downloads\", look for the plugin "
1121
+ #~ "you want to install among the available downloads and click on \"Download"
1122
+ #~ "\" button"
1123
+ #~ msgstr ""
1124
+ #~ "Desde el menú de la izquierda, haz click en \"Mis Descargas\", busca el "
1125
+ #~ "plugin que te quieres descargar entre las descargas disponibles y haz "
1126
+ #~ "click en el botón \"Descargar\""
1127
+
1128
+ #~ msgid ""
1129
+ #~ "After downloading the packet, go to your website and login to WordPress "
1130
+ #~ "administration area."
1131
+ #~ msgstr ""
1132
+ #~ "Después de descargar el paquete, ve a tu sitio web y regístrate en el "
1133
+ #~ "área de administración de WordPress."
1134
+
1135
+ #~ msgid ""
1136
+ #~ "From the menu on the left, click on \"Plugins\". You will be redirected "
1137
+ #~ "to the page where you will find the complete list of all the plugins "
1138
+ #~ "available on your site. Click on \"Add New\" button that you find above "
1139
+ #~ "on the left to add a new plugin"
1140
+ #~ msgstr ""
1141
+ #~ "Desde el menú de la izquierda, haz click en \"Plugins\". Serás redirigido/"
1142
+ #~ "a a la página donde podrás encontrar la lista completa de plugins "
1143
+ #~ "disponible en tu sitio web. Haz click en el botón \"Añadir Nuevo\" que "
1144
+ #~ "encontrarás arriba a la izquierda para añadir un nuevo plugin"
1145
+
1146
+ #~ msgid ""
1147
+ #~ "You will be redirected to a new page where you will find, above on the "
1148
+ #~ "left next to the page title, the \"Upload Plugin\" button."
1149
+ #~ msgstr ""
1150
+ #~ "Serás redirigido/a a una nueva página donde encontrarás, en la parte "
1151
+ #~ "superior izquierda, junto al título de la página, el botón \"Actualizar "
1152
+ #~ "Plugin\""
1153
+
1154
+ #~ msgid ""
1155
+ #~ "Click on \"Upload Plugins\" button to start the upload of the PREMIUM "
1156
+ #~ "version of the plugin previously downloaded. Click on \"Select File\", "
1157
+ #~ "search for the download folder related to the plugin and upload the "
1158
+ #~ "package. Now you only need to wait a few minutes for the upload and the "
1159
+ #~ "installation on your site. (We used YITH Live Chat plugin by way of "
1160
+ #~ "example)"
1161
+ #~ msgstr ""
1162
+ #~ "Haz click en el botón \"Actualizar Plugins\" para actualizar la versión "
1163
+ #~ "premium del plugin anteriormente descargada. Haz click en \"Seleccionar "
1164
+ #~ "Archivo\", busca la carpeta relacionada al plugin y actualiza el paquete. "
1165
+ #~ "Ahora sólo necesitas esperar unos minutos para actualizarlo e instalarlo "
1166
+ #~ "en tu sitio web. (Usamos YITH Live Chat a modo de ejemplo)"
1167
+
1168
+ #~ msgid "After completing the installation, click on \"Activate plugin\""
1169
+ #~ msgstr ""
1170
+ #~ "Después de completar la instalación, haz click en \"Activar plugin\""
1171
+
1172
+ #~ msgid ""
1173
+ #~ "If everything worked allright, your plugin is now correctly installed on "
1174
+ #~ "your website. Enjoy it :-)"
1175
+ #~ msgstr ""
1176
+ #~ "Si todo funcionó bien, tu plugin está ahora correctamente instalado en tu "
1177
+ #~ "sitio web. Disfrútalo :-)"
1178
+
1179
+ #~ msgid ""
1180
+ #~ "The last step is the activation of the plugin through its license key you "
1181
+ #~ "received after the purchase. Click on \"License Activation\" that you "
1182
+ #~ "find in \"YITH Plugins\" and insert the license key and the email address "
1183
+ #~ "you used during the purchase."
1184
+ #~ msgstr ""
1185
+ #~ "El último paso es la activación del plugin a través de la clave de "
1186
+ #~ "licencia, que recibiste después de la compra. Haz click en \"Activación "
1187
+ #~ "de la licencia\", que encontrarás en \"YITH Plugins\" e introduce la "
1188
+ #~ "dirección de email que usaste durante la compra."
1189
+
1190
+ #~ msgid ""
1191
+ #~ "In case you had difficulty to recover the license key we sent you by "
1192
+ #~ "email, you can easily find it in \"My Licenses\" section of your account "
1193
+ #~ "on yithemes.com"
1194
+ #~ msgstr ""
1195
+ #~ "En caso de que hayas tenido dificultad para recuperar la clave de "
1196
+ #~ "licencia que te enviamos por email, puedes encontrarla fácilmente en la "
1197
+ #~ "sección \"Mis Licencias\" de tu cuenta en yithemes.com"
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-05-16 16:37+0200\n"
8
- "PO-Revision-Date: 2016-05-16 16:37+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.4\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"
@@ -138,7 +138,7 @@ msgstr "Tipologia"
138
  #: lib/yit-cpt-unlimited.php:1052
139
  #, php-format
140
  msgid "Layout for this %s"
141
- msgstr ""
142
 
143
  #: lib/yit-cpt-unlimited.php:1058
144
  msgid "Rewrite"
@@ -146,10 +146,11 @@ msgstr "Riscrivi"
146
 
147
  #: lib/yit-cpt-unlimited.php:1059
148
  msgid ""
149
- "Univocal identification name in the URL for each product (slug from post if empty)"
 
150
  msgstr ""
151
- "Nome identificativo univoco nell'URL per singolo prodotto (usa slug dal post se "
152
- "vuoto)"
153
 
154
  #: lib/yit-cpt-unlimited.php:1064
155
  msgid "Label in Singular"
@@ -173,13 +174,14 @@ msgstr "Tassonomia"
173
 
174
  #: lib/yit-cpt-unlimited.php:1077
175
  msgid ""
176
- "If you want to use categories in the portfolio, set a name for taxonomy. Name "
177
- "should be a slug (must not contain capital letters nor spaces) and must not be "
178
- "more than 32 characters long (database structure restriction)."
179
  msgstr ""
180
  "Se vuoi aggiungere delle categorie nel portfolio, imposta un nome per la "
181
- "tassonomia. Il nome dovrà essere in forma di slug (non deve contenere caratteri "
182
- "maiuscoli né spazi) e non più lungo di 32 caratteri (restrizione di database)."
 
183
 
184
  #: lib/yit-cpt-unlimited.php:1082
185
  msgid "Taxonomy Rewrite"
@@ -222,17 +224,17 @@ msgstr "Aggiungi %s dalla immagini"
222
 
223
  #: lib/yit-cpt-unlimited.php:1633
224
  msgid "Upload multiple files"
225
- msgstr ""
226
 
227
  #: lib/yit-plugin-panel-sidebar.php:421 templates/panel/sidebar/sidebar.php:3
228
  msgid "Hide sidebar"
229
- msgstr ""
230
 
231
  #: lib/yit-plugin-panel-sidebar.php:422 templates/panel/sidebar/sidebar.php:3
232
  msgid "Show sidebar"
233
- msgstr ""
234
 
235
- #: lib/yit-plugin-panel-wc.php:359
236
  msgid "The changes you have made will be lost if you leave this page."
237
  msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
238
 
@@ -240,73 +242,77 @@ msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
240
  msgid "Plugin Settings"
241
  msgstr "Impostazioni plugin"
242
 
243
- #: lib/yit-plugin-panel.php:293
244
- msgid "Premium version upgrade"
245
- msgstr ""
246
 
247
- #: lib/yit-plugin-panel.php:344 lib/yit-plugin-subpanel.php:146
248
  #: templates/panel/woocommerce/woocommerce-form.php:11
249
  msgid "Save Changes"
250
  msgstr "Salva modifiche"
251
 
252
- #: lib/yit-plugin-panel.php:347 templates/panel/woocommerce/woocommerce-form.php:14
253
- msgid "If you continue with this action, you will reset all options in this page."
 
 
254
  msgstr ""
255
  "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
256
  "reimpostate."
257
 
258
- #: lib/yit-plugin-panel.php:349 lib/yit-plugin-subpanel.php:151
259
  msgid "Reset to default"
260
- msgstr ""
261
 
262
- #: lib/yit-plugin-panel.php:349 lib/yit-plugin-subpanel.php:151
263
  #: templates/panel/woocommerce/woocommerce-form.php:18
264
  msgid "Are you sure?"
265
  msgstr "Sei sicuro?"
266
 
267
- #: lib/yit-plugin-panel.php:545
268
- msgid "The element you have entered already exists. Please, enter another name."
 
269
  msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
270
 
271
- #: lib/yit-plugin-panel.php:546
272
  msgid "Settings saved"
273
  msgstr "Impostazioni salvate"
274
 
275
- #: lib/yit-plugin-panel.php:547
276
  msgid "Settings reset"
277
  msgstr "Impostazioni azzerate"
278
 
279
- #: lib/yit-plugin-panel.php:548
280
  msgid "Element deleted correctly."
281
  msgstr "Elemento rimosso correttamente."
282
 
283
- #: lib/yit-plugin-panel.php:549 lib/yit-plugin-panel.php:550
284
  msgid "Element updated correctly."
285
  msgstr "Elemento aggiornato correttamente."
286
 
287
- #: lib/yit-plugin-panel.php:551
288
  msgid "Database imported correctly."
289
  msgstr "Database importato correttamente."
290
 
291
- #: lib/yit-plugin-panel.php:552
292
  msgid "An error has occurred during import. Please try again."
293
  msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
294
 
295
- #: lib/yit-plugin-panel.php:553
296
  msgid "The added file is not valid."
297
  msgstr "Il file aggiunto non è valido."
298
 
299
- #: lib/yit-plugin-panel.php:554
300
  msgid "Sorry, import is disabled."
301
  msgstr "Ci dispiace, l'importazione è disabilitata."
302
 
303
- #: lib/yit-plugin-panel.php:555
304
  msgid "Sorting successful."
305
  msgstr "Ordinamento effettuato con successo."
306
 
307
  #: lib/yit-plugin-subpanel.php:149
308
  msgid ""
309
- "If you continue with this action, you will reset all the options in this page."
 
310
  msgstr ""
311
  "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
312
  "reimpostate."
@@ -318,12 +324,13 @@ msgstr "Plugin attivati"
318
  #: lib/yit-pointers.php:71
319
  msgid ""
320
  "From now on, you can find all plugin options in YIT Plugin menu.\n"
321
- " For each plugin installed, customization "
322
- "settings will be available as a new entry in YIT Plugin menu."
323
  msgstr ""
324
- "Da ora in poi, puoi trovare tutte le opzioni dei tuoi plugin nel menu Plugin YIT.\n"
325
- "Troverai le impostazioni di personalizzazione sotto una nuova voce nel menu Plugin "
326
- "YIT."
 
327
 
328
  #: lib/yit-pointers.php:73 lib/yit-pointers.php:89
329
  msgid "Discover all our plugins available on:"
@@ -337,110 +344,120 @@ msgstr "e"
337
  msgid "Plugins Upgraded"
338
  msgstr "Plugin aggiornati"
339
 
340
- # Any time you install one of our plugins, a new entry will be added to this menu.\n
341
  #: lib/yit-pointers.php:85
342
  msgid ""
343
  "From now on, you can find all options of your plugins in YIT Plugin menu.\n"
344
- " Any time one of our plugins is updated, a new "
345
- "entry will be added to this menu.\n"
346
- " For example, after the update, plugin options "
347
- "(such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.)\n"
348
- " will be moved from previous location to YIT "
349
- "Plugin tab."
 
350
  msgstr ""
351
- "Da ora in poi, troverai tutte le opzioni dei tuoi plugin nel menu Plugin YIT.\n"
352
- "Ogni volta che aggiornerai i nostri plugin, troverai una nuova voce in questo "
353
- "menu.\n"
354
- "Per esempio, dopo l'aggiornamento, le opzioni del plugin (come per esempio quelle "
355
- "di YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search etc.)\n"
 
356
  "saranno trasferite nella scheda Plugin YIT."
357
 
358
- #: lib/yit-upgrade.php:136
359
  msgid "There is a new version of %plugin_name% available."
360
  msgstr "Una nuova versione di %plugin_name% è disponibile."
361
 
362
- #: lib/yit-upgrade.php:137
363
  msgid "View version %latest% details."
364
  msgstr "Visualizza i dettagli della versione %latest%."
365
 
366
- #: lib/yit-upgrade.php:138
367
  msgid "Automatic update is unavailable for this plugin,"
368
  msgstr "L'aggiornamento automatico non è disponibile per questo plugin,"
369
 
370
- #: lib/yit-upgrade.php:139
371
- msgid "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
 
372
  msgstr ""
373
- "per favore, <a href=\"%activate_link%\">attiva</a> la tua copia di %plugin_name%."
 
374
 
375
- #: lib/yit-upgrade.php:140
376
  msgid "Update now."
377
  msgstr "Aggiorna adesso."
378
 
379
- #: lib/yit-upgrade.php:243
380
  msgid "YIThemes Repository"
381
- msgstr ""
382
 
383
- #: lib/yit-upgrade.php:277
384
  msgid "Invalid URL Provided."
385
  msgstr "L'URL inserito non è valido."
386
 
387
- #: lib/yit-upgrade.php:290
388
  msgid "Could not create Temporary file."
389
  msgstr "Non è stato possibile creare il file temporaneo."
390
 
391
- #: lib/yit-upgrade.php:432
392
  #, php-format
393
  msgid ""
394
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
395
- "changelog-button\" title=\"%3$s\">View version %4$s details</a>."
396
  msgstr ""
397
- "È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
398
- "changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a>."
 
399
 
400
- #: lib/yit-upgrade.php:434
401
  #, php-format
402
  msgid ""
403
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
404
- "changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>You have to "
405
- "activate the plugin on a single site of the network to benefit from automatic "
406
- "updates.</em>"
407
  msgstr ""
408
- "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
409
- "changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a>. "
410
- "<em>Per poter usufruire degli aggiornamenti automatici è necessario attivare il "
411
- "plugin su un solo sito.</em>"
412
 
413
- #: lib/yit-upgrade.php:436
414
  #, php-format
415
  msgid ""
416
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
417
- "changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
418
- "update is unavailable for this plugin, please <a href=\"%5$s\" title=\"License "
419
- "activation\">activate</a> your copy of %6s.</em>"
420
  msgstr ""
 
 
 
 
 
421
 
422
- #: lib/yit-upgrade.php:438
423
  #, php-format
424
  msgid ""
425
- "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
426
- "changelog-button\" title=\"%3$s\">View version %4$s details</a> or <a href=\"%5$s"
427
- "\">update now</a>."
428
  msgstr ""
429
- "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
430
- "changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a> "
431
- "oppure <a href=\"%5$s\">aggiorna adesso</a>."
432
 
433
- #: lib/yit-upgrade.php:511
434
  msgid "You can't update the plugins for this site."
435
  msgstr "Non è possibile aggiornare i plugin per questo sito."
436
 
437
- #: lib/yit-upgrade.php:515
438
- msgid "You do not have sufficient permissions to update the plugins for this site."
 
439
  msgstr ""
440
- "Non sei in possesso delle autorizzazioni necessarie per aggiornare i plugin in "
441
- "questo sito."
442
 
443
- #: lib/yit-upgrade.php:522
444
  msgid "Update Plugin"
445
  msgstr "Aggiorna plugin"
446
 
@@ -473,11 +490,11 @@ msgstr "Email"
473
  #: licence/templates/panel/activation/activation-panel.php:167
474
  #: licence/templates/panel/activation/activation-panel.php:198
475
  msgid "License Key"
476
- msgstr ""
477
 
478
  #: licence/lib/yit-licence.php:187
479
  msgid "Are you sure you want to deactivate the license for current site?"
480
- msgstr ""
481
 
482
  #: licence/lib/yit-licence.php:667
483
  msgid "Invalid Request"
@@ -485,7 +502,7 @@ msgstr "Richiesta non valida"
485
 
486
  #: licence/lib/yit-licence.php:668
487
  msgid "Invalid license key"
488
- msgstr ""
489
 
490
  #: licence/lib/yit-licence.php:669
491
  msgid "Software has been deactivated"
@@ -505,33 +522,33 @@ msgstr "Chiave di sicurezza non valida"
505
 
506
  #: licence/lib/yit-licence.php:673
507
  msgid "License key has expired"
508
- msgstr ""
509
 
510
  #: licence/lib/yit-licence.php:674
511
  msgid "License key has been banned"
512
- msgstr ""
513
 
514
  #: licence/lib/yit-licence.php:675
515
- msgid "Current product is not included with your membership key"
516
- msgstr ""
517
 
518
  #: licence/lib/yit-licence.php:676
519
  msgid "Great"
520
- msgstr ""
521
 
522
  #: licence/lib/yit-licence.php:676
523
  msgid "License successfully activated"
524
- msgstr ""
525
 
526
  #: licence/lib/yit-licence.php:677
527
  msgid "License key deactivated for website"
528
- msgstr ""
529
 
530
  #: licence/lib/yit-plugin-licence.php:67 licence/lib/yit-plugin-licence.php:68
531
  #: licence/lib/yit-theme-licence.php:69 licence/lib/yit-theme-licence.php:70
532
  #: licence/lib/yit-theme-licence.php:109 licence/lib/yit-theme-licence.php:110
533
  msgid "License Activation"
534
- msgstr ""
535
 
536
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
537
  #, php-format
@@ -540,29 +557,39 @@ msgstr "%s"
540
 
541
  #: licence/lib/yit-theme-licence.php:159
542
  msgid ""
543
- "I cannot find the license key for activating the theme I have bought some time "
544
- "ago. Where can I find it?"
545
  msgstr ""
546
  "Non riesco a trovare la chiave di licenza per l'attivazione del tema che ho "
547
  "acquistato diverso tempo fa. Dove posso trovarla?"
548
 
549
  #: licence/lib/yit-theme-licence.php:163
550
  msgid ""
551
- "If you have purchased one of our products before 27 January 2015, you can benefit "
552
- "from support and updates (the services offered with the license)\n"
553
- " until 27 January 2016 and you do not have to purchase it again "
554
- "to get a new license key, because, before this date, your license used to be "
555
- "activated automatically by our system.\n"
556
- " After 27 January 2016, instead, if you want to benefit from "
557
- "support and updates you have to buy a new license and activate it through the "
558
- "license key you will be\n"
559
- " provided with and that you can find in your YIThemes account, "
560
- "in section \"My licenses\"."
561
  msgstr ""
 
 
 
 
 
 
 
 
 
 
562
 
563
  #: licence/templates/panel/activation/activation-panel.php:23
564
  msgid "Yithemes License Activation"
565
- msgstr ""
566
 
567
  #: licence/templates/panel/activation/activation-panel.php:27
568
  msgid ""
@@ -574,13 +601,13 @@ msgstr ""
574
 
575
  #: licence/templates/panel/activation/activation-panel.php:29
576
  msgid "Update license information"
577
- msgstr ""
578
 
579
  #: licence/templates/panel/activation/activation-panel.php:42
580
  msgid "Product to activate"
581
  msgid_plural "Products to activate"
582
- msgstr[0] ""
583
- msgstr[1] ""
584
 
585
  #: licence/templates/panel/activation/activation-panel.php:61
586
  msgid "Activate"
@@ -606,12 +633,12 @@ msgid "Remaining"
606
  msgstr "Tempo rimanente"
607
 
608
  #: licence/templates/panel/activation/activation-panel.php:97
609
- msgid "Membership"
610
- msgstr ""
611
 
612
  #: licence/templates/panel/activation/activation-panel.php:101
613
  msgid "License Actions"
614
- msgstr ""
615
 
616
  #: licence/templates/panel/activation/activation-panel.php:126
617
  #, php-format
@@ -620,7 +647,7 @@ msgstr "%1s di %2s"
620
 
621
  #: licence/templates/panel/activation/activation-panel.php:142
622
  msgid "Deactivate"
623
- msgstr ""
624
 
625
  #: licence/templates/panel/activation/activation-panel.php:147
626
  #: licence/templates/panel/activation/activation-panel.php:204
@@ -637,11 +664,11 @@ msgstr "Non più valido"
637
 
638
  #: licence/templates/panel/activation/activation-panel.php:226
639
  msgid "Order again"
640
- msgstr ""
641
 
642
  #: licence/templates/panel/activation/activation-panel.php:228
643
  msgid "Renew license"
644
- msgstr ""
645
 
646
  #: templates/metaboxes/types/ajax-products.php:23
647
  msgid "Search for a product"
@@ -734,11 +761,12 @@ msgstr "Nome dati"
734
  #: templates/metaboxes/types/contactform.php:90
735
  #: templates/metaboxes/types/contactform.php:282
736
  msgid ""
737
- "REQUIRED: Field identification name to be entered into email body. <strong>Note:</"
738
- "strong>Use only lowercase characters and underscores."
739
  msgstr ""
740
  "RICHIESTO: Nome identificativo del campo da inserire nel corpo dell'email. "
741
- "<strong>Nota:</strong>Puoi utilizzare solamente caratteri minuscoli e underscore."
 
742
 
743
  #: templates/metaboxes/types/contactform.php:95
744
  #: templates/metaboxes/types/contactform.php:287
@@ -824,7 +852,8 @@ msgstr "Classe"
824
 
825
  #: templates/metaboxes/types/contactform.php:170
826
  #: templates/metaboxes/types/contactform.php:362
827
- msgid "Insert additional class(es) (separated by commas) for more personalization."
 
828
  msgstr ""
829
  "Inserisci una o più classi (separate da virgole) per una ulteriore "
830
  "personalizzazione."
@@ -903,7 +932,8 @@ msgstr "(Default: <i %s></i> )"
903
 
904
  #: templates/metaboxes/types/image-gallery.php:40
905
  #: templates/metaboxes/types/image-gallery.php:45
906
- #: templates/metaboxes/types/images.php:38 templates/metaboxes/types/images.php:64
 
907
  msgid "Delete image"
908
  msgstr "Rimuovi immagine"
909
 
@@ -1009,163 +1039,149 @@ msgstr "Grassetto corsivo"
1009
 
1010
  #: templates/panel/sidebar/widgets/widgets.php:17
1011
  msgid "Join the club"
1012
- msgstr ""
1013
 
1014
  #: templates/panel/sidebar/widgets/widgets.php:24
1015
  msgid "Despacho Theme - 100% FREE"
1016
- msgstr ""
1017
 
1018
  #: templates/panel/sidebar/widgets/widgets.php:28
1019
  msgid "FREE!"
1020
- msgstr ""
1021
 
1022
  #: templates/panel/sidebar/widgets/widgets.php:34
1023
  msgid "Important Links"
1024
- msgstr ""
1025
 
1026
  #: templates/panel/types/upload.php:32
1027
  msgid "Reset"
1028
- msgstr ""
1029
 
1030
  #: templates/panel/woocommerce/woocommerce-form.php:17
1031
  msgid "Reset Defaults"
1032
  msgstr "Ripristina impostazioni iniziali"
1033
 
1034
- #: templates/upgrade/upgrade-to-pro-version.php:2
1035
- msgid "Upgrade to Premium Version"
1036
- msgstr ""
1037
 
1038
- #: templates/upgrade/upgrade-to-pro-version.php:3
1039
- msgid ""
1040
- "Have you purchased the premium version of a plugin? Don't you know how to activate "
1041
- "the license after the purchase?"
1042
- msgstr ""
1043
- "Hai comprato la versione premium di un plugin ? Dopo l'acquisto non trovi dove "
1044
- "attivare la licenza del tuo plugin premium ? "
1045
 
1046
- #: templates/upgrade/upgrade-to-pro-version.php:5
1047
- msgid ""
1048
- "To upgrade from a FREE to a PREMIUM plugin is not suffice to insert the license "
1049
- "key provided after the purchase.\n"
1050
- " The reason is that they are two distinct products, with significant "
1051
- "differences both for available options and for number of files included in the "
1052
- "plugin package.\n"
1053
- " To start to use the PREMIUM version of the plugin, you simply need to "
1054
- "download the PREMIUM packet and install it on your site."
1055
- msgstr ""
1056
- "Per passare da un plugin FREE ad uno PREMIUM non basta semplicemnete inserire la "
1057
- "chiave di licenza che ti è stata fornita dopo aver completato l'acquisto. Questo "
1058
- "perchè fisicamente si tratta di due prodotti diversi, con differenze sostanziali "
1059
- "sia nelle opzioni disponibili sia sul numero di file presenti all'interno del "
1060
- "pacchetto del plugin stesso. \n"
1061
- "Per iniziare ad usare il plugin PREMIUM che hai appena acquistato devi "
1062
- "semplicemente scaricare il pacchetto PREMIUM ed installarlo sul tuo sito."
1063
-
1064
- #: templates/upgrade/upgrade-to-pro-version.php:9
1065
- #, php-format
1066
- msgid ""
1067
- "%1$sDo you need to know how to do it?%2$s Easy! %1$sFollow this list of steps%2$s "
1068
- "and in a few minutes the plugin you purchased will be installed on your site"
1069
- msgstr ""
1070
- "%1$sNon sai come fare ?%2$s Non è un problema%1$s, segui i passi elencati qui sotto"
1071
- "%2$s ed in pochi minuti avrai il plugin acquistato correttamente installato sul "
1072
- "tuo sito."
1073
 
1074
- #: templates/upgrade/upgrade-to-pro-version.php:12
1075
- msgid "Go to yithemes.com and login to \"My Account\" page"
1076
- msgstr "Vai su yithemes.com ed effettua il login alla sezione \"My Account \""
 
 
 
 
 
1077
 
1078
- #: templates/upgrade/upgrade-to-pro-version.php:18
1079
- msgid ""
1080
- "From the menu on the left, click on \"My Downloads\", look for the plugin you want "
1081
- "to install among the available downloads and click on \"Download\" button"
1082
- msgstr ""
1083
- "Dal menù di sinistra clicca su \"My Downloads\" e cerca tra i download disponibili "
1084
- "il plugin che vuoi installare, e clicca su \"Download\""
1085
 
1086
- #: templates/upgrade/upgrade-to-pro-version.php:24
1087
- msgid ""
1088
- "After downloading the packet, go to your website and login to WordPress "
1089
- "administration area."
1090
- msgstr ""
1091
- "Non appena il download del pacchetto sarà completato recati sul tuo sito web ed "
1092
- "effettua il login all'area amministrazione di WordPress."
1093
 
1094
- #: templates/upgrade/upgrade-to-pro-version.php:30
1095
- msgid ""
1096
- "From the menu on the left, click on \"Plugins\". You will be redirected to the "
1097
- "page where you will find the complete list of all the plugins available on your "
1098
- "site. Click on \"Add New\" button that you find above on the left to add a new "
1099
- "plugin"
1100
- msgstr ""
1101
- "Dal menù di sinistra clicca sulla voce Plugins. Verrai indirizzato su una pagina "
1102
- "con la lista dei plugin disponibili sul tuo sito. Clicca sul pulsante \"Add New\" "
1103
- "che trovi in alto a sinistra vicino al titolo della pagina."
1104
 
1105
- #: templates/upgrade/upgrade-to-pro-version.php:36
1106
- msgid ""
1107
- "You will be redirected to a new page where you will find, above on the left next "
1108
- "to the page title, the \"Upload Plugin\" button."
1109
- msgstr ""
1110
- "Verrai indirizzato su una nuova pagina dove trovi, in alto a sinistra vicino al "
1111
- "titolo della pagina, il pulsante \"Upload Plugin\"."
 
 
 
1112
 
1113
- #: templates/upgrade/upgrade-to-pro-version.php:42
1114
- msgid ""
1115
- "Click on \"Upload Plugins\" button to start the upload of the PREMIUM version of "
1116
- "the plugin previously downloaded. Click on \"Select File\", search for the "
1117
- "download folder related to the plugin and upload the package. Now you only need to "
1118
- "wait a few minutes for the upload and the installation on your site. (We used YITH "
1119
- "Live Chat plugin by way of example)"
1120
- msgstr ""
1121
- "Cliccando su \"Upload Plugins\", ti troverai in una pagina dove poter effettuare "
1122
- "l'upload del pacchetto del plugin PREMIUM da te precedentemente scaricato. Clicca "
1123
- "quindi su \"Scegli File\", cerca la cartella di download dove hai scaricato il "
1124
- "plugin ed effettua il caricamento del pacchetto. A questo punto ti basta attendere "
1125
- "qualche minuto che il pacchetto venga caricato ed installato sul tuo sito. "
1126
- "(Abbiamo usato YITH Live Chat come esempio) "
1127
-
1128
- #: templates/upgrade/upgrade-to-pro-version.php:48
1129
- msgid "After completing the installation, click on \"Activate plugin\""
1130
- msgstr "Al termine della procedura di installazione clicca su \"Attiva\""
1131
-
1132
- #: templates/upgrade/upgrade-to-pro-version.php:52
1133
- msgid ""
1134
- "If everything worked allright, your plugin is now correctly installed on your "
1135
- "website. Enjoy it :-)"
1136
- msgstr ""
1137
- "Se tutto è andato per il meglio il tuo plugin è correttamente installato sul tuo "
1138
- "sito web. Enjoy it :-)"
1139
 
1140
- #: templates/upgrade/upgrade-to-pro-version.php:55
1141
- msgid ""
1142
- "The last step is the activation of the plugin through its license key you received "
1143
- "after the purchase. Click on \"License Activation\" that you find in \"YITH Plugins"
1144
- "\" and insert the license key and the email address you used during the purchase."
1145
- msgstr ""
 
 
 
 
 
 
 
 
 
1146
 
1147
- #: templates/upgrade/upgrade-to-pro-version.php:61
1148
- msgid ""
1149
- "In case you had difficulty to recover the license key we sent you by email, you "
1150
- "can easily find it in \"My Licenses\" section of your account on yithemes.com"
1151
- msgstr ""
1152
- "Se non trovi l'email che ti abbiamo inviato contenete la license key puoi "
1153
- "facilmente recuperarla dalla sezione \"My Licenses\" all'interno della sezione My "
1154
- "Account del nostro sito yithemes.com."
 
 
 
 
 
 
 
 
 
 
1155
 
1156
  #~ msgid "YITH Plugins"
1157
  #~ msgstr "YITH Plugins"
1158
 
1159
  #~ msgid ""
1160
  #~ "The last step is the activation of the plugin through its license key you "
1161
- #~ "received after the purchase. Click on \"License Activation\" that you find in "
1162
- #~ "\"YITH Plugins\" and insert the license key and the email address you used "
1163
- #~ "during the purchas."
1164
  #~ msgstr ""
1165
- #~ "Ultimo step è attivare il plugin con la chiave di licenza che hai ricevuto dopo "
1166
- #~ "l'acquisto. Clicca quindi sul link \"License Activation\" che trovi sotto "
1167
- #~ "\"YITH Plugins\" ed inserisci la license key in tuo possesso ed email "
1168
- #~ "utilizzata in fase di acquisto."
1169
 
1170
  #~ msgid "YIT Plugins"
1171
  #~ msgstr "YIT Plugins"
@@ -1183,16 +1199,17 @@ msgstr ""
1183
  #~ msgstr "Ripristina impostazioni iniziali"
1184
 
1185
  #~ msgid ""
1186
- #~ "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
1187
- #~ "changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
1188
- #~ "update is unavailable for this plugin, please <a href=\"%5$s\" title=\"Licence "
1189
- #~ "activation\">activate</a> your copy of %6s.</em>"
 
1190
  #~ msgstr ""
1191
- #~ "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
1192
- #~ "changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</"
1193
- #~ "a>. <em>Gli aggiornamenti automatici non sono disponibili per questo plugi, per "
1194
- #~ "favore, <a href=\"%5$s\" title=\"Licence activation\">attiva</a> la tua copia "
1195
- #~ "di %6s.</em>"
1196
 
1197
  #~ msgid "Invalid licence key"
1198
  #~ msgstr "Chiave di licenza non valida"
@@ -1212,24 +1229,24 @@ msgstr ""
1212
  #~ msgid ""
1213
  #~ "If you have purchased one of our products before 27 January 2015, you can "
1214
  #~ "benefit from support and updates (the services offered with the license)\n"
1215
- #~ " until 27 January 2016 and you do not have to purchase it again to "
1216
- #~ "get a new license key, because, before this date, your license used to be "
1217
- #~ "activated automatically by our system.\n"
1218
- #~ " After 27 January 2016, instead, if you want to benefit from support "
1219
- #~ "and updates you have to buy a new license and activate it through the license "
1220
- #~ "key you will be\n"
1221
- #~ " provided with and that you can find in your YIThemes account, in "
1222
- #~ "section \"My licenses\"."
1223
  #~ msgstr ""
1224
- #~ "Se hai acquistato un nostro prodotto prima del 27 gennaio 2015 potrai accedere "
1225
- #~ "al supporto e scaricare gli aggiornamenti fino al 27 gennaio 2016 e non avrai "
1226
- #~ "bisogno di una chiave di licenza,\n"
1227
  #~ "in quanto la tua licenza prima di questa data veniva attivata in modo "
1228
  #~ "automatico dal nostro sistema.\n"
1229
- #~ "Dopo il 27 gennaio 2016, invece, per poter usufruire del servizio di supporto e "
1230
- #~ "degli aggiornamenti dovrai riacquistare il prodotto e\n"
1231
- #~ "attivarlo con la chiave di licenza che ti sarà fornita e che puoi trovare sul "
1232
- #~ "tuo account YIThemes, alla voce \"Le mie licenze\"."
1233
 
1234
  #~ msgid "Update licence information"
1235
  #~ msgstr "Aggiorna le informazioni di licenza"
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"
138
  #: lib/yit-cpt-unlimited.php:1052
139
  #, php-format
140
  msgid "Layout for this %s"
141
+ msgstr "Layout per questo %s"
142
 
143
  #: lib/yit-cpt-unlimited.php:1058
144
  msgid "Rewrite"
146
 
147
  #: lib/yit-cpt-unlimited.php:1059
148
  msgid ""
149
+ "Univocal identification name in the URL for each product (slug from post if "
150
+ "empty)"
151
  msgstr ""
152
+ "Nome identificativo univoco nell'URL per singolo prodotto (usa slug dal post "
153
+ "se vuoto)"
154
 
155
  #: lib/yit-cpt-unlimited.php:1064
156
  msgid "Label in Singular"
174
 
175
  #: lib/yit-cpt-unlimited.php:1077
176
  msgid ""
177
+ "If you want to use categories in the portfolio, set a name for taxonomy. "
178
+ "Name should be a slug (must not contain capital letters nor spaces) and must "
179
+ "not be more than 32 characters long (database structure restriction)."
180
  msgstr ""
181
  "Se vuoi aggiungere delle categorie nel portfolio, imposta un nome per la "
182
+ "tassonomia. Il nome dovrà essere in forma di slug (non deve contenere "
183
+ "caratteri maiuscoli né spazi) e non più lungo di 32 caratteri (restrizione "
184
+ "di database)."
185
 
186
  #: lib/yit-cpt-unlimited.php:1082
187
  msgid "Taxonomy Rewrite"
224
 
225
  #: lib/yit-cpt-unlimited.php:1633
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
 
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."
258
  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."
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:"
344
  msgid "Plugins Upgraded"
345
  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
 
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"
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"
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
 
547
  #: licence/lib/yit-plugin-licence.php:67 licence/lib/yit-plugin-licence.php:68
548
  #: licence/lib/yit-theme-licence.php:69 licence/lib/yit-theme-licence.php:70
549
  #: licence/lib/yit-theme-licence.php:109 licence/lib/yit-theme-licence.php:110
550
  msgid "License Activation"
551
+ msgstr "Attivazione licenza"
552
 
553
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
554
  #, php-format
557
 
558
  #: licence/lib/yit-theme-licence.php:159
559
  msgid ""
560
+ "I cannot find the license key for activating the theme I have bought some "
561
+ "time ago. Where can I find it?"
562
  msgstr ""
563
  "Non riesco a trovare la chiave di licenza per l'attivazione del tema che ho "
564
  "acquistato diverso tempo fa. Dove posso trovarla?"
565
 
566
  #: licence/lib/yit-theme-licence.php:163
567
  msgid ""
568
+ "If you have purchased one of our products before 27 January 2015, you can "
569
+ "benefit from support and updates (the services offered with the license)\n"
570
+ " until 27 January 2016 and you do not have to purchase it "
571
+ "again to get a new license key, because, before this date, your license used "
572
+ "to be activated automatically by our system.\n"
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 "
580
+ "usufruire di supporto e aggiornamenti (servizi inclusi nella licenza)\n"
581
+ "fino al 27 gennaio 2016 e non dovrai riacquistare il prodotto per ottenere "
582
+ "una chiave di licenza, poiché prima di questa data il tuo prodotto veniva "
583
+ "automaticamente attivato dal nostro sistema.\n"
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 ""
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"
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
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
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"
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
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."
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
 
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 "
1069
+ #~ "activate the license after the purchase?"
1070
+ #~ msgstr ""
1071
+ #~ "Hai comprato la versione premium di un plugin ? Dopo l'acquisto non trovi "
1072
+ #~ "dove attivare la licenza del tuo plugin premium ? "
 
1073
 
1074
+ #~ msgid ""
1075
+ #~ "To upgrade from a FREE to a PREMIUM plugin is not suffice to insert the "
1076
+ #~ "license key provided after the purchase.\n"
1077
+ #~ " The reason is that they are two distinct products, with "
1078
+ #~ "significant differences both for available options and for number of "
1079
+ #~ "files included in the plugin package.\n"
1080
+ #~ " To start to use the PREMIUM version of the plugin, you simply "
1081
+ #~ "need to download the PREMIUM packet and install it on your site."
1082
+ #~ msgstr ""
1083
+ #~ "Per passare da un plugin FREE ad uno PREMIUM non basta semplicemnete "
1084
+ #~ "inserire la chiave di licenza che ti è stata fornita dopo aver completato "
1085
+ #~ "l'acquisto. Questo perchè fisicamente si tratta di due prodotti diversi, "
1086
+ #~ "con differenze sostanziali sia nelle opzioni disponibili sia sul numero "
1087
+ #~ "di file presenti all'interno del pacchetto del plugin stesso. \n"
1088
+ #~ "Per iniziare ad usare il plugin PREMIUM che hai appena acquistato devi "
1089
+ #~ "semplicemente scaricare il pacchetto PREMIUM ed installarlo sul tuo sito."
 
 
 
 
 
 
 
 
 
 
 
1090
 
1091
+ #~ msgid ""
1092
+ #~ "%1$sDo you need to know how to do it?%2$s Easy! %1$sFollow this list of "
1093
+ #~ "steps%2$s and in a few minutes the plugin you purchased will be installed "
1094
+ #~ "on your site"
1095
+ #~ msgstr ""
1096
+ #~ "%1$sNon sai come fare ?%2$s Non è un problema%1$s, segui i passi elencati "
1097
+ #~ "qui sotto%2$s ed in pochi minuti avrai il plugin acquistato correttamente "
1098
+ #~ "installato sul tuo sito."
1099
 
1100
+ #~ msgid "Go to yithemes.com and login to \"My Account\" page"
1101
+ #~ msgstr ""
1102
+ #~ "Vai su yithemes.com ed effettua il login alla sezione \"My Account \""
 
 
 
 
1103
 
1104
+ #~ msgid ""
1105
+ #~ "From the menu on the left, click on \"My Downloads\", look for the plugin "
1106
+ #~ "you want to install among the available downloads and click on \"Download"
1107
+ #~ "\" button"
1108
+ #~ msgstr ""
1109
+ #~ "Dal menù di sinistra clicca su \"My Downloads\" e cerca tra i download "
1110
+ #~ "disponibili il plugin che vuoi installare, e clicca su \"Download\""
1111
 
1112
+ #~ msgid ""
1113
+ #~ "After downloading the packet, go to your website and login to WordPress "
1114
+ #~ "administration area."
1115
+ #~ msgstr ""
1116
+ #~ "Non appena il download del pacchetto sarà completato recati sul tuo sito "
1117
+ #~ "web ed effettua il login all'area amministrazione di WordPress."
 
 
 
 
1118
 
1119
+ #~ msgid ""
1120
+ #~ "From the menu on the left, click on \"Plugins\". You will be redirected "
1121
+ #~ "to the page where you will find the complete list of all the plugins "
1122
+ #~ "available on your site. Click on \"Add New\" button that you find above "
1123
+ #~ "on the left to add a new plugin"
1124
+ #~ msgstr ""
1125
+ #~ "Dal menù di sinistra clicca sulla voce Plugins. Verrai indirizzato su una "
1126
+ #~ "pagina con la lista dei plugin disponibili sul tuo sito. Clicca sul "
1127
+ #~ "pulsante \"Add New\" che trovi in alto a sinistra vicino al titolo della "
1128
+ #~ "pagina."
1129
 
1130
+ #~ msgid ""
1131
+ #~ "You will be redirected to a new page where you will find, above on the "
1132
+ #~ "left next to the page title, the \"Upload Plugin\" button."
1133
+ #~ msgstr ""
1134
+ #~ "Verrai indirizzato su una nuova pagina dove trovi, in alto a sinistra "
1135
+ #~ "vicino al titolo della pagina, il pulsante \"Upload Plugin\"."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1136
 
1137
+ #~ msgid ""
1138
+ #~ "Click on \"Upload Plugins\" button to start the upload of the PREMIUM "
1139
+ #~ "version of the plugin previously downloaded. Click on \"Select File\", "
1140
+ #~ "search for the download folder related to the plugin and upload the "
1141
+ #~ "package. Now you only need to wait a few minutes for the upload and the "
1142
+ #~ "installation on your site. (We used YITH Live Chat plugin by way of "
1143
+ #~ "example)"
1144
+ #~ msgstr ""
1145
+ #~ "Cliccando su \"Upload Plugins\", ti troverai in una pagina dove poter "
1146
+ #~ "effettuare l'upload del pacchetto del plugin PREMIUM da te "
1147
+ #~ "precedentemente scaricato. Clicca quindi su \"Scegli File\", cerca la "
1148
+ #~ "cartella di download dove hai scaricato il plugin ed effettua il "
1149
+ #~ "caricamento del pacchetto. A questo punto ti basta attendere qualche "
1150
+ #~ "minuto che il pacchetto venga caricato ed installato sul tuo sito. "
1151
+ #~ "(Abbiamo usato YITH Live Chat come esempio) "
1152
 
1153
+ #~ msgid "After completing the installation, click on \"Activate plugin\""
1154
+ #~ msgstr "Al termine della procedura di installazione clicca su \"Attiva\""
1155
+
1156
+ #~ msgid ""
1157
+ #~ "If everything worked allright, your plugin is now correctly installed on "
1158
+ #~ "your website. Enjoy it :-)"
1159
+ #~ msgstr ""
1160
+ #~ "Se tutto è andato per il meglio il tuo plugin è correttamente installato "
1161
+ #~ "sul tuo sito web. Enjoy it :-)"
1162
+
1163
+ #~ msgid ""
1164
+ #~ "In case you had difficulty to recover the license key we sent you by "
1165
+ #~ "email, you can easily find it in \"My Licenses\" section of your account "
1166
+ #~ "on yithemes.com"
1167
+ #~ msgstr ""
1168
+ #~ "Se non trovi l'email che ti abbiamo inviato contenete la license key puoi "
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 "
1178
+ #~ "find in \"YITH Plugins\" and insert the license key and the email address "
1179
+ #~ "you used during the purchas."
1180
  #~ msgstr ""
1181
+ #~ "Ultimo step è attivare il plugin con la chiave di licenza che hai "
1182
+ #~ "ricevuto dopo l'acquisto. Clicca quindi sul link \"License Activation\" "
1183
+ #~ "che trovi sotto \"YITH Plugins\" ed inserisci la license key in tuo "
1184
+ #~ "possesso ed email utilizzata in fase di acquisto."
1185
 
1186
  #~ msgid "YIT Plugins"
1187
  #~ msgstr "YIT Plugins"
1199
  #~ msgstr "Ripristina impostazioni iniziali"
1200
 
1201
  #~ msgid ""
1202
+ #~ "There is a new version of %1$s available. <a href=\"%2$s\" class="
1203
+ #~ "\"thickbox yit-changelog-button\" title=\"%3$s\">View version %4$s "
1204
+ #~ "details</a>. <em>Automatic update is unavailable for this plugin, please "
1205
+ #~ "<a href=\"%5$s\" title=\"Licence activation\">activate</a> your copy of "
1206
+ #~ "%6s.</em>"
1207
  #~ msgstr ""
1208
+ #~ "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class="
1209
+ #~ "\"thickbox yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli "
1210
+ #~ "della versione %4$s</a>. <em>Gli aggiornamenti automatici non sono "
1211
+ #~ "disponibili per questo plugi, per favore, <a href=\"%5$s\" title="
1212
+ #~ "\"Licence activation\">attiva</a> la tua copia di %6s.</em>"
1213
 
1214
  #~ msgid "Invalid licence key"
1215
  #~ msgstr "Chiave di licenza non valida"
1229
  #~ msgid ""
1230
  #~ "If you have purchased one of our products before 27 January 2015, you can "
1231
  #~ "benefit from support and updates (the services offered with the license)\n"
1232
+ #~ " until 27 January 2016 and you do not have to purchase it "
1233
+ #~ "again to get a new license key, because, before this date, your license "
1234
+ #~ "used to be activated automatically by our system.\n"
1235
+ #~ " After 27 January 2016, instead, if you want to benefit from "
1236
+ #~ "support and updates you have to buy a new license and activate it through "
1237
+ #~ "the license key you will be\n"
1238
+ #~ " provided with and that you can find in your YIThemes account, "
1239
+ #~ "in section \"My licenses\"."
1240
  #~ msgstr ""
1241
+ #~ "Se hai acquistato un nostro prodotto prima del 27 gennaio 2015 potrai "
1242
+ #~ "accedere al supporto e scaricare gli aggiornamenti fino al 27 gennaio "
1243
+ #~ "2016 e non avrai bisogno di una chiave di licenza,\n"
1244
  #~ "in quanto la tua licenza prima di questa data veniva attivata in modo "
1245
  #~ "automatico dal nostro sistema.\n"
1246
+ #~ "Dopo il 27 gennaio 2016, invece, per poter usufruire del servizio di "
1247
+ #~ "supporto e degli aggiornamenti dovrai riacquistare il prodotto e\n"
1248
+ #~ "attivarlo con la chiave di licenza che ti sarà fornita e che puoi trovare "
1249
+ #~ "sul tuo account YIThemes, alla voce \"Le mie licenze\"."
1250
 
1251
  #~ msgid "Update licence information"
1252
  #~ msgstr "Aggiorna le informazioni di licenza"
plugin-fw/languages/yith-plugin-fw.pot CHANGED
@@ -5,7 +5,7 @@ msgid ""
5
  msgstr ""
6
  "Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
7
  "Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
8
- "POT-Creation-Date: 2016-05-16 16:37+0200\n"
9
  "PO-Revision-Date: 2015-05-05 10:38+0100\n"
10
  "Last-Translator: \n"
11
  "Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
@@ -13,7 +13,7 @@ msgstr ""
13
  "MIME-Version: 1.0\n"
14
  "Content-Type: text/plain; charset=utf-8\n"
15
  "Content-Transfer-Encoding: 8bit\n"
16
- "X-Generator: Poedit 1.8.4\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"
@@ -228,7 +228,7 @@ msgstr ""
228
  msgid "Show sidebar"
229
  msgstr ""
230
 
231
- #: lib/yit-plugin-panel-wc.php:359
232
  msgid "The changes you have made will be lost if you leave this page."
233
  msgstr ""
234
 
@@ -236,65 +236,65 @@ msgstr ""
236
  msgid "Plugin Settings"
237
  msgstr ""
238
 
239
- #: lib/yit-plugin-panel.php:293
240
- msgid "Premium version upgrade"
241
  msgstr ""
242
 
243
- #: lib/yit-plugin-panel.php:344 lib/yit-plugin-subpanel.php:146
244
  #: templates/panel/woocommerce/woocommerce-form.php:11
245
  msgid "Save Changes"
246
  msgstr ""
247
 
248
- #: lib/yit-plugin-panel.php:347 templates/panel/woocommerce/woocommerce-form.php:14
249
  msgid "If you continue with this action, you will reset all options in this page."
250
  msgstr ""
251
 
252
- #: lib/yit-plugin-panel.php:349 lib/yit-plugin-subpanel.php:151
253
  msgid "Reset to default"
254
  msgstr ""
255
 
256
- #: lib/yit-plugin-panel.php:349 lib/yit-plugin-subpanel.php:151
257
  #: templates/panel/woocommerce/woocommerce-form.php:18
258
  msgid "Are you sure?"
259
  msgstr ""
260
 
261
- #: lib/yit-plugin-panel.php:545
262
  msgid "The element you have entered already exists. Please, enter another name."
263
  msgstr ""
264
 
265
- #: lib/yit-plugin-panel.php:546
266
  msgid "Settings saved"
267
  msgstr ""
268
 
269
- #: lib/yit-plugin-panel.php:547
270
  msgid "Settings reset"
271
  msgstr ""
272
 
273
- #: lib/yit-plugin-panel.php:548
274
  msgid "Element deleted correctly."
275
  msgstr ""
276
 
277
- #: lib/yit-plugin-panel.php:549 lib/yit-plugin-panel.php:550
278
  msgid "Element updated correctly."
279
  msgstr ""
280
 
281
- #: lib/yit-plugin-panel.php:551
282
  msgid "Database imported correctly."
283
  msgstr ""
284
 
285
- #: lib/yit-plugin-panel.php:552
286
  msgid "An error has occurred during import. Please try again."
287
  msgstr ""
288
 
289
- #: lib/yit-plugin-panel.php:553
290
  msgid "The added file is not valid."
291
  msgstr ""
292
 
293
- #: lib/yit-plugin-panel.php:554
294
  msgid "Sorry, import is disabled."
295
  msgstr ""
296
 
297
- #: lib/yit-plugin-panel.php:555
298
  msgid "Sorting successful."
299
  msgstr ""
300
 
@@ -337,46 +337,46 @@ msgid ""
337
  "Plugin tab."
338
  msgstr ""
339
 
340
- #: lib/yit-upgrade.php:136
341
  msgid "There is a new version of %plugin_name% available."
342
  msgstr ""
343
 
344
- #: lib/yit-upgrade.php:137
345
  msgid "View version %latest% details."
346
  msgstr ""
347
 
348
- #: lib/yit-upgrade.php:138
349
  msgid "Automatic update is unavailable for this plugin,"
350
  msgstr ""
351
 
352
- #: lib/yit-upgrade.php:139
353
  msgid "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
354
  msgstr ""
355
 
356
- #: lib/yit-upgrade.php:140
357
  msgid "Update now."
358
  msgstr ""
359
 
360
- #: lib/yit-upgrade.php:243
361
  msgid "YIThemes Repository"
362
  msgstr ""
363
 
364
- #: lib/yit-upgrade.php:277
365
  msgid "Invalid URL Provided."
366
  msgstr ""
367
 
368
- #: lib/yit-upgrade.php:290
369
  msgid "Could not create Temporary file."
370
  msgstr ""
371
 
372
- #: lib/yit-upgrade.php:432
373
  #, php-format
374
  msgid ""
375
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
376
  "changelog-button\" title=\"%3$s\">View version %4$s details</a>."
377
  msgstr ""
378
 
379
- #: lib/yit-upgrade.php:434
380
  #, php-format
381
  msgid ""
382
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -385,7 +385,7 @@ msgid ""
385
  "updates.</em>"
386
  msgstr ""
387
 
388
- #: lib/yit-upgrade.php:436
389
  #, php-format
390
  msgid ""
391
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -394,7 +394,7 @@ msgid ""
394
  "activation\">activate</a> your copy of %6s.</em>"
395
  msgstr ""
396
 
397
- #: lib/yit-upgrade.php:438
398
  #, php-format
399
  msgid ""
400
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -402,15 +402,15 @@ msgid ""
402
  "\">update now</a>."
403
  msgstr ""
404
 
405
- #: lib/yit-upgrade.php:511
406
  msgid "You can't update the plugins for this site."
407
  msgstr ""
408
 
409
- #: lib/yit-upgrade.php:515
410
  msgid "You do not have sufficient permissions to update the plugins for this site."
411
  msgstr ""
412
 
413
- #: lib/yit-upgrade.php:522
414
  msgid "Update Plugin"
415
  msgstr ""
416
 
@@ -482,7 +482,7 @@ msgid "License key has been banned"
482
  msgstr ""
483
 
484
  #: licence/lib/yit-licence.php:675
485
- msgid "Current product is not included with your membership key"
486
  msgstr ""
487
 
488
  #: licence/lib/yit-licence.php:676
@@ -572,7 +572,7 @@ msgid "Remaining"
572
  msgstr ""
573
 
574
  #: licence/templates/panel/activation/activation-panel.php:97
575
- msgid "Membership"
576
  msgstr ""
577
 
578
  #: licence/templates/panel/activation/activation-panel.php:101
@@ -992,93 +992,3 @@ msgstr ""
992
  #: templates/panel/woocommerce/woocommerce-form.php:17
993
  msgid "Reset Defaults"
994
  msgstr ""
995
-
996
- #: templates/upgrade/upgrade-to-pro-version.php:2
997
- msgid "Upgrade to Premium Version"
998
- msgstr ""
999
-
1000
- #: templates/upgrade/upgrade-to-pro-version.php:3
1001
- msgid ""
1002
- "Have you purchased the premium version of a plugin? Don't you know how to activate "
1003
- "the license after the purchase?"
1004
- msgstr ""
1005
-
1006
- #: templates/upgrade/upgrade-to-pro-version.php:5
1007
- msgid ""
1008
- "To upgrade from a FREE to a PREMIUM plugin is not suffice to insert the license "
1009
- "key provided after the purchase.\n"
1010
- " The reason is that they are two distinct products, with significant "
1011
- "differences both for available options and for number of files included in the "
1012
- "plugin package.\n"
1013
- " To start to use the PREMIUM version of the plugin, you simply need to "
1014
- "download the PREMIUM packet and install it on your site."
1015
- msgstr ""
1016
-
1017
- #: templates/upgrade/upgrade-to-pro-version.php:9
1018
- #, php-format
1019
- msgid ""
1020
- "%1$sDo you need to know how to do it?%2$s Easy! %1$sFollow this list of steps%2$s "
1021
- "and in a few minutes the plugin you purchased will be installed on your site"
1022
- msgstr ""
1023
-
1024
- #: templates/upgrade/upgrade-to-pro-version.php:12
1025
- msgid "Go to yithemes.com and login to \"My Account\" page"
1026
- msgstr ""
1027
-
1028
- #: templates/upgrade/upgrade-to-pro-version.php:18
1029
- msgid ""
1030
- "From the menu on the left, click on \"My Downloads\", look for the plugin you want "
1031
- "to install among the available downloads and click on \"Download\" button"
1032
- msgstr ""
1033
-
1034
- #: templates/upgrade/upgrade-to-pro-version.php:24
1035
- msgid ""
1036
- "After downloading the packet, go to your website and login to WordPress "
1037
- "administration area."
1038
- msgstr ""
1039
-
1040
- #: templates/upgrade/upgrade-to-pro-version.php:30
1041
- msgid ""
1042
- "From the menu on the left, click on \"Plugins\". You will be redirected to the "
1043
- "page where you will find the complete list of all the plugins available on your "
1044
- "site. Click on \"Add New\" button that you find above on the left to add a new "
1045
- "plugin"
1046
- msgstr ""
1047
-
1048
- #: templates/upgrade/upgrade-to-pro-version.php:36
1049
- msgid ""
1050
- "You will be redirected to a new page where you will find, above on the left next "
1051
- "to the page title, the \"Upload Plugin\" button."
1052
- msgstr ""
1053
-
1054
- #: templates/upgrade/upgrade-to-pro-version.php:42
1055
- msgid ""
1056
- "Click on \"Upload Plugins\" button to start the upload of the PREMIUM version of "
1057
- "the plugin previously downloaded. Click on \"Select File\", search for the "
1058
- "download folder related to the plugin and upload the package. Now you only need to "
1059
- "wait a few minutes for the upload and the installation on your site. (We used YITH "
1060
- "Live Chat plugin by way of example)"
1061
- msgstr ""
1062
-
1063
- #: templates/upgrade/upgrade-to-pro-version.php:48
1064
- msgid "After completing the installation, click on \"Activate plugin\""
1065
- msgstr ""
1066
-
1067
- #: templates/upgrade/upgrade-to-pro-version.php:52
1068
- msgid ""
1069
- "If everything worked allright, your plugin is now correctly installed on your "
1070
- "website. Enjoy it :-)"
1071
- msgstr ""
1072
-
1073
- #: templates/upgrade/upgrade-to-pro-version.php:55
1074
- msgid ""
1075
- "The last step is the activation of the plugin through its license key you received "
1076
- "after the purchase. Click on \"License Activation\" that you find in \"YITH Plugins"
1077
- "\" and insert the license key and the email address you used during the purchase."
1078
- msgstr ""
1079
-
1080
- #: templates/upgrade/upgrade-to-pro-version.php:61
1081
- msgid ""
1082
- "In case you had difficulty to recover the license key we sent you by email, you "
1083
- "can easily find it in \"My Licenses\" section of your account on yithemes.com"
1084
- 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: 2016-07-06 15:16+0200\n"
9
  "PO-Revision-Date: 2015-05-05 10:38+0100\n"
10
  "Last-Translator: \n"
11
  "Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
13
  "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.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\n"
228
  msgid "Show sidebar"
229
  msgstr ""
230
 
231
+ #: lib/yit-plugin-panel-wc.php:374
232
  msgid "The changes you have made will be lost if you leave this page."
233
  msgstr ""
234
 
236
  msgid "Plugin Settings"
237
  msgstr ""
238
 
239
+ #: lib/yit-plugin-panel.php:297 lib/yit-plugin-panel.php:300
240
+ msgid "How to install premium version"
241
  msgstr ""
242
 
243
+ #: lib/yit-plugin-panel.php:352 lib/yit-plugin-subpanel.php:146
244
  #: templates/panel/woocommerce/woocommerce-form.php:11
245
  msgid "Save Changes"
246
  msgstr ""
247
 
248
+ #: lib/yit-plugin-panel.php:355 templates/panel/woocommerce/woocommerce-form.php:14
249
  msgid "If you continue with this action, you will reset all options in this page."
250
  msgstr ""
251
 
252
+ #: lib/yit-plugin-panel.php:357 lib/yit-plugin-subpanel.php:151
253
  msgid "Reset to default"
254
  msgstr ""
255
 
256
+ #: lib/yit-plugin-panel.php:357 lib/yit-plugin-subpanel.php:151
257
  #: templates/panel/woocommerce/woocommerce-form.php:18
258
  msgid "Are you sure?"
259
  msgstr ""
260
 
261
+ #: lib/yit-plugin-panel.php:553
262
  msgid "The element you have entered already exists. Please, enter another name."
263
  msgstr ""
264
 
265
+ #: lib/yit-plugin-panel.php:554
266
  msgid "Settings saved"
267
  msgstr ""
268
 
269
+ #: lib/yit-plugin-panel.php:555
270
  msgid "Settings reset"
271
  msgstr ""
272
 
273
+ #: lib/yit-plugin-panel.php:556
274
  msgid "Element deleted correctly."
275
  msgstr ""
276
 
277
+ #: lib/yit-plugin-panel.php:557 lib/yit-plugin-panel.php:558
278
  msgid "Element updated correctly."
279
  msgstr ""
280
 
281
+ #: lib/yit-plugin-panel.php:559
282
  msgid "Database imported correctly."
283
  msgstr ""
284
 
285
+ #: lib/yit-plugin-panel.php:560
286
  msgid "An error has occurred during import. Please try again."
287
  msgstr ""
288
 
289
+ #: lib/yit-plugin-panel.php:561
290
  msgid "The added file is not valid."
291
  msgstr ""
292
 
293
+ #: lib/yit-plugin-panel.php:562
294
  msgid "Sorry, import is disabled."
295
  msgstr ""
296
 
297
+ #: lib/yit-plugin-panel.php:563
298
  msgid "Sorting successful."
299
  msgstr ""
300
 
337
  "Plugin tab."
338
  msgstr ""
339
 
340
+ #: lib/yit-upgrade.php:135
341
  msgid "There is a new version of %plugin_name% available."
342
  msgstr ""
343
 
344
+ #: lib/yit-upgrade.php:136
345
  msgid "View version %latest% details."
346
  msgstr ""
347
 
348
+ #: lib/yit-upgrade.php:137
349
  msgid "Automatic update is unavailable for this plugin,"
350
  msgstr ""
351
 
352
+ #: lib/yit-upgrade.php:138
353
  msgid "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
354
  msgstr ""
355
 
356
+ #: lib/yit-upgrade.php:139
357
  msgid "Update now."
358
  msgstr ""
359
 
360
+ #: lib/yit-upgrade.php:240
361
  msgid "YIThemes Repository"
362
  msgstr ""
363
 
364
+ #: lib/yit-upgrade.php:274
365
  msgid "Invalid URL Provided."
366
  msgstr ""
367
 
368
+ #: lib/yit-upgrade.php:287
369
  msgid "Could not create Temporary file."
370
  msgstr ""
371
 
372
+ #: lib/yit-upgrade.php:439
373
  #, php-format
374
  msgid ""
375
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
376
  "changelog-button\" title=\"%3$s\">View version %4$s details</a>."
377
  msgstr ""
378
 
379
+ #: lib/yit-upgrade.php:441
380
  #, php-format
381
  msgid ""
382
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
385
  "updates.</em>"
386
  msgstr ""
387
 
388
+ #: lib/yit-upgrade.php:443
389
  #, php-format
390
  msgid ""
391
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
394
  "activation\">activate</a> your copy of %6s.</em>"
395
  msgstr ""
396
 
397
+ #: lib/yit-upgrade.php:445
398
  #, php-format
399
  msgid ""
400
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
402
  "\">update now</a>."
403
  msgstr ""
404
 
405
+ #: lib/yit-upgrade.php:517
406
  msgid "You can't update the plugins for this site."
407
  msgstr ""
408
 
409
+ #: lib/yit-upgrade.php:521
410
  msgid "You do not have sufficient permissions to update the plugins for this site."
411
  msgstr ""
412
 
413
+ #: lib/yit-upgrade.php:528
414
  msgid "Update Plugin"
415
  msgstr ""
416
 
482
  msgstr ""
483
 
484
  #: licence/lib/yit-licence.php:675
485
+ msgid "Current product is not included in your YITH Club Subscription key"
486
  msgstr ""
487
 
488
  #: licence/lib/yit-licence.php:676
572
  msgstr ""
573
 
574
  #: licence/templates/panel/activation/activation-panel.php:97
575
+ msgid "Club Subscription"
576
  msgstr ""
577
 
578
  #: licence/templates/panel/activation/activation-panel.php:101
992
  #: templates/panel/woocommerce/woocommerce-form.php:17
993
  msgid "Reset Defaults"
994
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/lib/yit-cpt-unlimited.php CHANGED
@@ -138,8 +138,8 @@ class YIT_CPT_Unlimited {
138
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_assets' ) );
139
 
140
  // metaboxes
141
- add_action( 'after_setup_theme', array( $this, 'add_metabox_cptu' ), 2 );
142
- add_action( 'after_setup_theme', array( $this, 'add_metabox_item_fields' ), 2 );
143
 
144
  // multiuploader
145
  if ( $this->_args['add_multiuploader'] ) {
138
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_assets' ) );
139
 
140
  // metaboxes
141
+ add_action( 'add_meta_boxes', array( $this, 'add_metabox_cptu' ), 2 );
142
+ add_action( 'add_meta_boxes', array( $this, 'add_metabox_item_fields' ), 2 );
143
 
144
  // multiuploader
145
  if ( $this->_args['add_multiuploader'] ) {
plugin-fw/lib/yit-metabox.php CHANGED
@@ -133,7 +133,7 @@ if (!class_exists('YIT_Metabox')) {
133
  $this->set_tabs();
134
 
135
 
136
- add_action('add_meta_boxes', array($this, 'register_metabox'));
137
  add_action('save_post', array($this, 'save_postdata'));
138
  add_action('admin_enqueue_scripts', array($this, 'enqueue'), 15);
139
 
@@ -158,7 +158,7 @@ if (!class_exists('YIT_Metabox')) {
158
  wp_enqueue_script('jquery-ui-datepicker');
159
  wp_enqueue_script('yit-spinner', YIT_CORE_PLUGIN_URL . '/assets/js/panel.spinner.js', array('jquery'), '0.0.1', true);
160
  wp_enqueue_script('jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array('jquery'), '1.1.0', true);
161
- wp_enqueue_script('ajax-chosen', yit_load_js_file(YIT_CORE_PLUGIN_URL . '/assets/js/chosen/ajax-chosen.jquery.js'), array('jquery'), '1.1.0', true);
162
  wp_enqueue_script('yit-metabox', YIT_CORE_PLUGIN_URL . '/assets/js/metabox.js', array('jquery', 'wp-color-picker'), '1.0.0', true);
163
  wp_enqueue_style('jquery-ui-overcast', YIT_CORE_PLUGIN_URL . '/assets/css/overcast/jquery-ui-custom/jquery-ui-1.8.9.custom.css', false, '1.8.9', 'all');
164
  }
@@ -414,6 +414,7 @@ if (!class_exists('YIT_Metabox')) {
414
  */
415
  public function register_metabox($post_type)
416
  {
 
417
  if (in_array($post_type, (array)$this->options['pages'])) {
418
  add_meta_box($this->id, $this->options['label'], array($this, 'show'), $post_type, $this->options['context'], $this->options['priority']);
419
  }
@@ -476,12 +477,31 @@ if (!class_exists('YIT_Metabox')) {
476
  }
477
  }
478
 
479
- if (!in_array($post_type, (array)$this->options['pages'])) {
480
  return $post_id;
481
- }
482
 
483
  $this->reorder_tabs();
484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
485
 
486
  foreach ($this->tabs as $tab) {
487
 
@@ -501,8 +521,7 @@ if (!class_exists('YIT_Metabox')) {
501
  }
502
  }
503
  }
504
-
505
-
506
  }
507
 
508
  /**
133
  $this->set_tabs();
134
 
135
 
136
+ add_action('add_meta_boxes', array($this, 'register_metabox'),99);
137
  add_action('save_post', array($this, 'save_postdata'));
138
  add_action('admin_enqueue_scripts', array($this, 'enqueue'), 15);
139
 
158
  wp_enqueue_script('jquery-ui-datepicker');
159
  wp_enqueue_script('yit-spinner', YIT_CORE_PLUGIN_URL . '/assets/js/panel.spinner.js', array('jquery'), '0.0.1', true);
160
  wp_enqueue_script('jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array('jquery'), '1.1.0', true);
161
+ wp_enqueue_script('ajax-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/'.yit_load_js_file('ajax-chosen.jquery.js'), array('jquery'), '1.1.0', true);
162
  wp_enqueue_script('yit-metabox', YIT_CORE_PLUGIN_URL . '/assets/js/metabox.js', array('jquery', 'wp-color-picker'), '1.0.0', true);
163
  wp_enqueue_style('jquery-ui-overcast', YIT_CORE_PLUGIN_URL . '/assets/css/overcast/jquery-ui-custom/jquery-ui-1.8.9.custom.css', false, '1.8.9', 'all');
164
  }
414
  */
415
  public function register_metabox($post_type)
416
  {
417
+
418
  if (in_array($post_type, (array)$this->options['pages'])) {
419
  add_meta_box($this->id, $this->options['label'], array($this, 'show'), $post_type, $this->options['context'], $this->options['priority']);
420
  }
477
  }
478
  }
479
 
480
+ /*if (!in_array($post_type, (array)$this->options['pages'])) {
481
  return $post_id;
482
+ }*/
483
 
484
  $this->reorder_tabs();
485
 
486
+ if(isset($_POST['yit_metaboxes'])) {
487
+ $yit_metabox_data = $_POST['yit_metaboxes'];
488
+
489
+ if(is_array($yit_metabox_data)) {
490
+
491
+ foreach ($yit_metabox_data as $field_name => $field_value) {
492
+
493
+ if(! add_post_meta($post_id, $field_name, $field_value, true) )
494
+ {
495
+ update_post_meta($post_id, $field_name, $field_value);
496
+ }
497
+
498
+
499
+ }
500
+
501
+ }
502
+
503
+
504
+ }
505
 
506
  foreach ($this->tabs as $tab) {
507
 
521
  }
522
  }
523
  }
524
+
 
525
  }
526
 
527
  /**
plugin-fw/lib/yit-plugin-panel-sidebar.php CHANGED
@@ -166,6 +166,10 @@ if ( !class_exists( 'YIT_Plugin_Panel_Sidebar' ) ) {
166
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
167
  */
168
  public function get_remote_widgets() {
 
 
 
 
169
  $remote_widgets = get_transient( self::$transient_remote_widgets );
170
  $updated = get_transient( self::$transient_updated_remote_widgets );
171
  $is_debug = defined( 'YIT_FW_REMOTE_WIDGETS_DEBUG' ) && YIT_FW_REMOTE_WIDGETS_DEBUG;
@@ -209,11 +213,11 @@ if ( !class_exists( 'YIT_Plugin_Panel_Sidebar' ) ) {
209
  if ( !isset( $xml_widget->id ) )
210
  continue;
211
 
212
- $widget_id = (string)$xml_widget->id;
213
  $widget_array = array();
214
  foreach ( $enabled_args as $key ) {
215
  if ( isset( $xml_widget->$key ) ) {
216
- $widget_array[ $key ] = (string)$xml_widget->$key;
217
  } else {
218
  if ( $key == 'priority' ) {
219
  $widget_array[ $key ] = $last_remote_priority;
@@ -224,7 +228,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_Sidebar' ) ) {
224
  $remote_widgets[ $widget_id ] = $widget_array;
225
  }
226
 
227
- $xml_expiration = isset( $xml_data->expiration ) ? (string)$xml_data->expiration : '';
228
  if ( !empty( $xml_expiration ) ) {
229
  $expiration = strtotime( $xml_expiration ) - strtotime( 'now' );
230
  // if the XML is expired removes widgets
@@ -253,8 +257,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_Sidebar' ) ) {
253
  if ( $expiration < 1 ) {
254
  $expiration = 1 * DAY_IN_SECONDS + $four_days_random;
255
  }
256
- }
257
- catch ( Exception $e ) {
258
 
259
  }
260
 
166
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
167
  */
168
  public function get_remote_widgets() {
169
+ $load_remote_widgets = apply_filters( 'yit_panel_sidebar_load_remote_widgets', true );
170
+ if ( !$load_remote_widgets )
171
+ return array();
172
+
173
  $remote_widgets = get_transient( self::$transient_remote_widgets );
174
  $updated = get_transient( self::$transient_updated_remote_widgets );
175
  $is_debug = defined( 'YIT_FW_REMOTE_WIDGETS_DEBUG' ) && YIT_FW_REMOTE_WIDGETS_DEBUG;
213
  if ( !isset( $xml_widget->id ) )
214
  continue;
215
 
216
+ $widget_id = (string) $xml_widget->id;
217
  $widget_array = array();
218
  foreach ( $enabled_args as $key ) {
219
  if ( isset( $xml_widget->$key ) ) {
220
+ $widget_array[ $key ] = (string) $xml_widget->$key;
221
  } else {
222
  if ( $key == 'priority' ) {
223
  $widget_array[ $key ] = $last_remote_priority;
228
  $remote_widgets[ $widget_id ] = $widget_array;
229
  }
230
 
231
+ $xml_expiration = isset( $xml_data->expiration ) ? (string) $xml_data->expiration : '';
232
  if ( !empty( $xml_expiration ) ) {
233
  $expiration = strtotime( $xml_expiration ) - strtotime( 'now' );
234
  // if the XML is expired removes widgets
257
  if ( $expiration < 1 ) {
258
  $expiration = 1 * DAY_IN_SECONDS + $four_days_random;
259
  }
260
+ } catch ( Exception $e ) {
 
261
 
262
  }
263
 
plugin-fw/lib/yit-plugin-panel-wc.php CHANGED
@@ -369,7 +369,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
369
  wp_enqueue_script( 'woocommerce_settings', $woocommerce->plugin_url() . '/assets/js/admin/settings.min.js', $woocommerce_settings_deps, $woocommerce_version, true );
370
 
371
  wp_register_script( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/js/jquery.colorbox.js', array( 'jquery' ), '1.6.3', true );
372
- wp_register_script( 'yit-plugin-panel', YIT_CORE_PLUGIN_URL . '/assets/js/yit-plugin-panel.min.js', array( 'jquery', 'jquery-chosen' ), $this->version, true );
373
  wp_localize_script( 'woocommerce_settings', 'woocommerce_settings_params', array(
374
  'i18n_nav_warning' => __( 'The changes you have made will be lost if you leave this page.', 'yith-plugin-fw' )
375
  ) );
369
  wp_enqueue_script( 'woocommerce_settings', $woocommerce->plugin_url() . '/assets/js/admin/settings.min.js', $woocommerce_settings_deps, $woocommerce_version, true );
370
 
371
  wp_register_script( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/js/jquery.colorbox.js', array( 'jquery' ), '1.6.3', true );
372
+ wp_register_script( 'yit-plugin-panel', YIT_CORE_PLUGIN_URL . '/assets/js/yit-plugin-panel.min.js', array( 'jquery', 'jquery-chosen','wp-color-picker', 'jquery-ui-dialog' ), $this->version, true );
373
  wp_localize_script( 'woocommerce_settings', 'woocommerce_settings_params', array(
374
  'i18n_nav_warning' => __( 'The changes you have made will be lost if you leave this page.', 'yith-plugin-fw' )
375
  ) );
plugin-fw/lib/yit-plugin-panel.php CHANGED
@@ -113,7 +113,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
113
 
114
  if( ! isset( $admin_page_hooks['yit_plugin_panel'] ) ){
115
  $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
116
- add_menu_page( 'yit_plugin_panel', __( 'YITH Plugins', 'yith-plugin-fw' ), 'manage_options', 'yit_plugin_panel', NULL, YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png', $position );
 
117
  }
118
  }
119
 
@@ -151,7 +152,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
151
  wp_enqueue_script( 'jquery-ui-slider' );
152
  wp_enqueue_script( 'jquery-ui-dialog' );
153
  wp_enqueue_script( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array( 'jquery' ), '1.1.0', true );
154
- wp_register_script( 'yit-plugin-panel', YIT_CORE_PLUGIN_URL . '/assets/js/yit-plugin-panel.js', array( 'jquery', 'jquery-chosen' ), $this->version, true );
155
  wp_register_script( 'codemirror', YIT_CORE_PLUGIN_URL . '/assets/js/codemirror/codemirror.js', array( 'jquery' ), $this->version, true );
156
  wp_register_script( 'codemirror-javascript', YIT_CORE_PLUGIN_URL . '/assets/js/codemirror/javascript.js', array( 'jquery', 'codemirror' ), $this->version, true );
157
  wp_register_script( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/js/jquery.colorbox.js', array( 'jquery' ), '1.6.3', true );
@@ -167,7 +168,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
167
  wp_enqueue_style( 'yit-jquery-ui-style', '//code.jquery.com/ui/' . $jquery_version . '/themes/smoothness/jquery-ui.css', array(), $jquery_version );
168
  wp_register_style( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/css/colorbox.css', array(), $this->version );
169
  wp_register_style( 'yit-upgrade-to-pro', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrade-to-pro.css', array( 'colorbox' ), $this->version );
170
-
171
  if( ( 'admin.php' == $pagenow && strpos( get_current_screen()->id, 'yith-plugins_page' ) !== false ) || apply_filters( 'yit_plugin_panel_asset_loading', false ) ){
172
  wp_enqueue_style( 'yit-plugin-style' );
173
  wp_enqueue_script( 'yit-plugin-panel' );
@@ -323,7 +324,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
323
  }
324
  ?>
325
  <div id="icon-themes" class="icon32"><br /></div>
326
- <h2 class="nav-tab-wrapper">
327
  <?php echo $tabs ?>
328
  </h2>
329
  <?php
113
 
114
  if( ! isset( $admin_page_hooks['yit_plugin_panel'] ) ){
115
  $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
116
+ // YITH Plugins text must not be translated
117
+ current_user_can( 'manage_options' ) && add_menu_page( 'yit_plugin_panel', 'YITH Plugins', 'manage_options', 'yit_plugin_panel', NULL, YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png', $position );
118
  }
119
  }
120
 
152
  wp_enqueue_script( 'jquery-ui-slider' );
153
  wp_enqueue_script( 'jquery-ui-dialog' );
154
  wp_enqueue_script( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array( 'jquery' ), '1.1.0', true );
155
+ wp_register_script( 'yit-plugin-panel', YIT_CORE_PLUGIN_URL . '/assets/js/yit-plugin-panel.js', array( 'jquery', 'jquery-chosen','wp-color-picker'), $this->version, true );
156
  wp_register_script( 'codemirror', YIT_CORE_PLUGIN_URL . '/assets/js/codemirror/codemirror.js', array( 'jquery' ), $this->version, true );
157
  wp_register_script( 'codemirror-javascript', YIT_CORE_PLUGIN_URL . '/assets/js/codemirror/javascript.js', array( 'jquery', 'codemirror' ), $this->version, true );
158
  wp_register_script( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/js/jquery.colorbox.js', array( 'jquery' ), '1.6.3', true );
168
  wp_enqueue_style( 'yit-jquery-ui-style', '//code.jquery.com/ui/' . $jquery_version . '/themes/smoothness/jquery-ui.css', array(), $jquery_version );
169
  wp_register_style( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/css/colorbox.css', array(), $this->version );
170
  wp_register_style( 'yit-upgrade-to-pro', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrade-to-pro.css', array( 'colorbox' ), $this->version );
171
+
172
  if( ( 'admin.php' == $pagenow && strpos( get_current_screen()->id, 'yith-plugins_page' ) !== false ) || apply_filters( 'yit_plugin_panel_asset_loading', false ) ){
173
  wp_enqueue_style( 'yit-plugin-style' );
174
  wp_enqueue_script( 'yit-plugin-panel' );
324
  }
325
  ?>
326
  <div id="icon-themes" class="icon32"><br /></div>
327
+ <h2 class="yith nav-tab-wrapper">
328
  <?php echo $tabs ?>
329
  </h2>
330
  <?php
plugin-fw/lib/yit-pointers.php CHANGED
@@ -68,8 +68,8 @@ if ( ! class_exists( 'YIT_Pointers' ) ) {
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 YIT Plugin menu.
72
- For each plugin installed, customization settings will be available as a new entry in YIT Plugin menu.', 'yith-plugin-fw' ),
73
  __( 'Discover all our plugins available on:', 'yith-plugin-fw' ),
74
  __( 'and', 'yith-plugin-fw' )
75
  ),
@@ -82,10 +82,10 @@ if ( ! class_exists( 'YIT_Pointers' ) ) {
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 all options of your plugins in YIT Plugin menu.
86
- Any time one of our plugins is updated, a new entry will be added to this menu.
87
  For example, after the update, plugin options (such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.)
88
- will be moved from previous location to YIT Plugin tab.', 'yith-plugin-fw' ),
89
  __( 'Discover all our plugins available on:', 'yith-plugin-fw' ),
90
  __( 'and', 'yith-plugin-fw' )
91
  ),
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.
72
+ Plugin customization settings will be available as a new entry in YITH Plugins menu.', 'yith-plugin-fw' ),
73
  __( 'Discover all our plugins available on:', 'yith-plugin-fw' ),
74
  __( 'and', 'yith-plugin-fw' )
75
  ),
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.
86
+ Every time one of our plugins is added, a new entry will be added to this menu.
87
  For example, after the update, plugin options (such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.)
88
+ will be moved from previous location to YITH Plugins tab.', 'yith-plugin-fw' ),
89
  __( 'Discover all our plugins available on:', 'yith-plugin-fw' ),
90
  __( 'and', 'yith-plugin-fw' )
91
  ),
plugin-fw/lib/yit-upgrade.php CHANGED
@@ -8,546 +8,561 @@
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
-
27
- class YIT_Upgrade {
28
-
29
- /**
30
- * @var string XML notifier update
31
- */
32
- protected $_xml = 'http://update.yithemes.com/plugins/%plugin_slug%.xml';
33
-
34
- /**
35
- * @var string api server url
36
- */
37
- protected $_package_url = 'http://www.yithemes.com';
38
-
39
- /**
40
- * @var array The registered plugins
41
- */
42
- protected $_plugins = array();
43
-
44
- /**
45
- * @var YIT_Upgrade The main instance
46
- */
47
- protected static $_instance;
48
-
49
- /**
50
- * Construct
51
- *
52
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
53
- * @since 1.0
54
- */
55
- public function __construct() {
56
- add_filter( 'upgrader_pre_download', array( $this, 'upgrader_pre_download') , 10, 3 );
57
- add_action( 'update-custom_upgrade-plugin-multisite', array( $this, 'upgrade_plugin_multisite' ) );
58
-
59
- if( is_network_admin() ){
60
- add_action( 'admin_enqueue_scripts', array( $this, 'network_admin_enqueue_scripts' ) );
61
- }
62
-
63
- $is_debug_enabled = defined( 'YIT_LICENCE_DEBUG' ) && YIT_LICENCE_DEBUG;
64
- if ( $is_debug_enabled ) {
65
- $this->_package_url = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
66
- add_filter( 'block_local_requests', '__return_false' );
67
- }
68
- }
69
-
70
- /**
71
- * Main plugin Instance
72
- *
73
- * @param $plugin_slug | string The plugin slug
74
- * @param $plugin_init | string The plugin init file
75
- *
76
- * @return void
77
- *
78
- * @since 1.0
79
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
80
- */
81
- public function register( $plugin_slug, $plugin_init ) {
82
-
83
- if( ! function_exists( 'get_plugins' ) ){
84
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
85
- }
86
-
87
- $plugins = get_plugins();
88
- $plugin_info = $plugins[ $plugin_init ];
89
-
90
- $this->_plugins[ $plugin_init ] = array(
91
- 'info' => $plugin_info,
92
- 'slug' => $plugin_slug,
93
- );
94
-
95
- /* === HOOKS === */
96
- if( ! is_multisite() || is_plugin_active_for_network( $plugin_init ) ){
97
- add_action( 'admin_init', array( $this, 'remove_wp_plugin_update_row' ), 15 );
98
- add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
99
- } else if( is_multisite() && current_user_can( 'update_plugins' ) ) {
100
- $transient = 'yith_register_' . md5( $plugin_slug );
101
- if( apply_filters( 'yith_register_delete_transient', false ) ){
102
- delete_transient( $transient );
103
- }
104
- $info = get_transient( $transient );
105
- if( false === $info || apply_filters( 'yith_register_delete_transient', false ) ){
106
- $xml = str_replace( '%plugin_slug%', $plugin_slug, $this->_xml );
107
- $remote_xml = wp_remote_get( $xml );
108
-
109
- if( ! is_wp_error( $remote_xml ) && isset( $remote_xml['response']['code'] ) && '200' == $remote_xml['response']['code'] ) {
110
- $plugin_remote_info = new SimpleXmlElement( $remote_xml['body'] );
111
- $info['Latest'] = (string) $plugin_remote_info->latest;
112
- $info['changelog'] = (string) $plugin_remote_info->changelog;
113
- YIT_Plugin_Licence()->check( $plugin_slug, false );
114
- set_transient( $transient, $info, DAY_IN_SECONDS );
115
- }
116
- }
117
-
118
- $this->_plugins[ $plugin_init ]['info']['Latest'] = $info['Latest'];
119
- $this->_plugins[ $plugin_init ]['info']['changelog'] = $info['changelog'];
120
- add_action( 'admin_enqueue_scripts', array( $this, 'multisite_updater_script' ) );
121
- }
122
- }
123
-
124
- /**
125
- * Add the multisite updater scripts
126
- *
127
- * @return void
128
- *
129
- * @since 1.0
130
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
131
- */
132
- public function multisite_updater_script(){
133
-
134
- $update_url = $changelogs = $details_url = array();
135
- $strings = array(
136
- 'new_version' => __( 'There is a new version of %plugin_name% available.', 'yith-plugin-fw' ),
137
- 'latest' => __( 'View version %latest% details.', 'yith-plugin-fw' ),
138
- 'unavailable' => __( 'Automatic update is unavailable for this plugin,', 'yith-plugin-fw' ),
139
- 'activate' => __( 'please <a href="%activate_link%">activate</a> your copy of %plugin_name%.', 'yith-plugin-fw' ),
140
- 'update_now' => __( 'Update now.', 'yith-plugin-fw' )
141
-
142
- );
143
-
144
- foreach( $this->_plugins as $init => $info ){
145
- $update_url[ $init ] = wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin-multisite&plugin=') . $init, 'upgrade-plugin-multisite_' . $init );
146
- $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
147
- $details_url[ $init ] = '#TB_inline' . esc_url( add_query_arg( array( 'width' => 722, 'height' => 914, 'inlineId' => $changelog_id ) , '' ) );
148
- $plugin_changelog = isset( $this->_plugins[ $init ]['info']['changelog'] ) ? $this->_plugins[ $init ]['info']['changelog'] : '';
149
- $changelogs[ $init ] = $this->in_theme_update_message( $this->_plugins[ $init ], $plugin_changelog, $changelog_id, false );
150
- }
151
-
152
- $localize_script_args = array(
153
- 'registered' => $this->_plugins,
154
- 'activated' => YIT_Plugin_Licence()->get_activated_products(),
155
- 'licence_activation_url' => YIT_Plugin_Licence()->get_licence_activation_page_url(),
156
- 'update_url' => $update_url,
157
- 'details_url' => $details_url,
158
- 'strings' => $strings,
159
- 'changelogs' => $changelogs
160
- );
161
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
162
- yit_enqueue_script( 'yit-multisite-updater', YIT_CORE_PLUGIN_URL . '/assets/js/multisite-updater' . $suffix . '.js', array( 'jquery' ), false, true );
163
-
164
- wp_localize_script( 'yit-multisite-updater', 'plugins', $localize_script_args );
165
- }
166
-
167
- public function network_admin_enqueue_scripts(){
168
- yit_enqueue_style( 'yit-upgrader', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrader.css' );
169
- }
170
-
171
- /**
172
- * Retrive the zip package file
173
- *
174
- * @param bool $reply Whether to bail without returning the package. Default false.
175
- * @param string $package The package file name.
176
- * @param \WP_Upgrader $upgrader WP_Upgrader instance.
177
- *
178
- * @return string | The download file
179
- *
180
- * @since 1.0
181
- * @see wp-admin/includes/class-wp-upgrader.php
182
- * @access public
183
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
184
- */
185
- public function upgrader_pre_download( $reply, $package, $upgrader ) {
186
- $plugin = false;
187
- $is_bulk = $upgrader->skin instanceof Bulk_Plugin_Upgrader_Skin;
188
-
189
- if( ! $is_bulk ){
190
- $plugin = isset( $upgrader->skin->plugin ) ? $upgrader->skin->plugin : false;
191
- }
192
-
193
- else {
194
- //Bulk action upgrade
195
- $action_url = parse_url( $upgrader->skin->options['url'] );
196
- parse_str( rawurldecode( htmlspecialchars_decode( $action_url['query'] ) ) );
197
- $plugins = explode( ',', $plugins );
198
- foreach( $plugins as $plugin_init ){
199
- $to_upgrade = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_init );
200
- if( $to_upgrade['Name'] == $upgrader->skin->plugin_info['Name'] ){
201
- $plugin = $plugin_init;
202
- }
203
- }
204
- }
205
-
206
- /**
207
- * It isn't YITH Premium plugins, please wordpress update it for me!
208
- */
209
- if( ! $plugin ) {
210
- return $reply;
211
- }
212
-
213
- $plugin_info = YIT_Plugin_Licence()->get_product( $plugin );
214
-
215
- /**
216
- * False ? It isn't YITH Premium plugins, please wordpress update it for me!
217
- */
218
- if( false === $plugin_info ) {
219
- return $reply;
220
- }
221
-
222
- $licence = YIT_Plugin_Licence()->get_licence();
223
- $product_id = $plugin_info['product_id'];
224
- $args = array(
225
- 'email' => $licence[ $product_id ]['email'],
226
- 'licence_key' => $licence[$product_id]['licence_key'],
227
- 'product_id' => $plugin_info['product_id'],
228
- 'secret_key' => $plugin_info['secret_key'],
229
- 'instance' => YIT_Plugin_Licence()->get_home_url(),
230
- 'wc-api' => 'download-api',
231
- 'request' => 'download'
232
- );
233
-
234
- if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) {
235
- //Local file or remote?
236
- return $package;
237
- }
238
-
239
- if ( empty( $package ) ) {
240
- return new WP_Error( 'no_package', $upgrader->strings['no_package'] );
241
- }
242
-
243
- $upgrader->skin->feedback( 'downloading_package', __( 'YIThemes Repository', 'yith-plugin-fw' ) );
244
-
245
- $download_file = $this->_download_url( $package, $args );
246
-
247
- /**
248
- * Regenerate update_plugins transient
249
- */
250
- $this->force_regenerate_update_transient();
251
-
252
- if ( is_wp_error( $download_file ) ) {
253
- return new WP_Error( 'download_failed', $upgrader->strings['download_failed'], $download_file->get_error_message() );
254
- }
255
-
256
- return $download_file;
257
- }
258
-
259
- /**
260
- * Retrive the temp filename
261
- *
262
- * @param string $url The package url
263
- * @param string $body The post data fields
264
- * @param int $timeout Execution timeout (default: 300)
265
- *
266
- * @return string | The temp filename
267
- *
268
- * @since 1.0
269
- * @see wp-admin/includes/class-wp-upgrader.php
270
- * @access protected
271
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
272
- */
273
- protected function _download_url( $url, $body, $timeout = 300 ) {
274
-
275
- //WARNING: The file is not automatically deleted, The script must unlink() the file.
276
- if ( ! $url ) {
277
- return new WP_Error( 'http_no_url', __( 'Invalid URL Provided.', 'yit' ) );
278
- }
279
-
280
- $tmpfname = wp_tempnam( $url );
281
-
282
- $args = array(
283
- 'timeout' => $timeout,
284
- 'stream' => true,
285
- 'filename' => $tmpfname,
286
- 'body' => $body
287
- );
288
-
289
- if ( ! $tmpfname ) {
290
- return new WP_Error( 'http_no_file', __( 'Could not create Temporary file.', 'yit' ) );
291
- }
292
-
293
- $response = wp_safe_remote_post( $url, $args );
294
-
295
- if ( is_wp_error( $response ) ) {
296
- unlink( $tmpfname );
297
- return $response;
298
- }
299
-
300
- if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
301
- unlink( $tmpfname );
302
- return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
303
- }
304
-
305
- $content_md5 = wp_remote_retrieve_header( $response, 'content-md5' );
306
-
307
- if ( $content_md5 ) {
308
- $md5_check = verify_file_md5( $tmpfname, $content_md5 );
309
- if ( is_wp_error( $md5_check ) ) {
310
- unlink( $tmpfname );
311
- return $md5_check;
312
- }
313
- }
314
-
315
- return $tmpfname;
316
- }
317
-
318
- /**
319
- * Main plugin Instance
320
- *
321
- * @static
322
- * @return object Main instance
323
- *
324
- * @since 1.0
325
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
326
- */
327
- public static function instance() {
328
- if ( is_null( self::$_instance ) ) {
329
- self::$_instance = new self();
330
- }
331
-
332
- return self::$_instance;
333
- }
334
-
335
- /**
336
- * Delete the update plugins transient
337
- *
338
- * @return void
339
- *
340
- * @since 1.0
341
- * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
342
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
343
- */
344
- public function force_regenerate_update_transient(){
345
- delete_site_transient( 'update_plugins' );
346
- }
347
-
348
- /**
349
- * Check for plugins update
350
- *
351
- * If a new plugin version is available set it in the pre_set_site_transient_update_plugins hooks
352
- *
353
- * @param mixed $transient | update_plugins transient value
354
- * @param bool $save | Default: false. Set true to regenerate the update_transient plugins
355
- *
356
- * @return mixed $transient | The new update_plugins transient value
357
- *
358
- * @since 1.0
359
- * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
360
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
361
- */
362
- public function check_update( $transient, $save = false ) {
363
-
364
- foreach ($this->_plugins as $init => $plugin) {
365
- $xml = str_replace('%plugin_slug%', $this->_plugins[$init]['slug'], $this->_xml);
366
- $remote_xml = wp_remote_get($xml);
367
-
368
- if (!is_wp_error($remote_xml) && isset($remote_xml['response']['code']) && '200' == $remote_xml['response']['code']) {
369
-
370
-
371
- $plugin_remote_info = new SimpleXmlElement($remote_xml['body']);
372
-
373
- if (version_compare($plugin_remote_info->latest, $plugin['info']['Version'], '>') && !isset($transient->response[$init])) {
374
-
375
- $package = YIT_Plugin_Licence()->check($init) ? $this->_package_url : null;
376
-
377
- $obj = new stdClass();
378
- $obj->slug = (string)$init;
379
- $obj->new_version = (string)$plugin_remote_info->latest;
380
- $obj->changelog = (string)$plugin_remote_info->changelog;
381
- $obj->package = $package;
382
- $obj->plugin = $init;
383
- $transient->response[$init] = $obj;
384
- }
385
-
386
- }
387
- }
388
-
389
- if( $save ) {
390
- set_site_transient( 'update_plugins', $transient );
391
- }
392
-
393
- return $transient;
394
- }
395
-
396
- /**
397
- * Add the plugin update row in plugin page
398
- *
399
- * @return void
400
- * @fire "in_theme_update_message-{$init}" action
401
- *
402
- * @since 1.0
403
- * @see after_plugin_row_{$init} action
404
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
405
- */
406
- public function plugin_update_row() {
407
-
408
- $current = get_site_transient( 'update_plugins' );
409
- $init = str_replace( 'after_plugin_row_', '', current_filter() );
410
-
411
- if ( ! isset( $current->response[ $init ] ) ) {
412
- return false;
413
- }
414
-
415
- /**
416
- * stdClass Object
417
- */
418
- $r = $current->response[ $init ];
419
-
420
- $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
421
- $details_url = '#TB_inline' . esc_url( add_query_arg( array( 'width' => 722, 'height' => 914, 'inlineId' => $changelog_id ) , '' ) );
422
-
423
- /**
424
- * @see wp_plugin_update_rows() in wp-single\wp-admin\includes\update.php
425
- */
426
- $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' );
427
-
428
- if( is_network_admin() || ! is_multisite() || true ) {
429
- echo '<tr class="plugin-update-tr"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange"><div class="update-message">';
430
-
431
- if( ! current_user_can( 'update_plugins' ) ){
432
- printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" 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 );
433
- }elseif( is_plugin_active_for_network( $init ) ){
434
- printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" 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 );
435
- }elseif ( empty( $r->package ) ) {
436
- printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" 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'] );
437
- } else {
438
- printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" 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 ) );
439
- }
440
-
441
- /**
442
- * Fires at the end of the update message container in each
443
- * row of the themes list table.
444
- *
445
- * The dynamic portion of the hook name, `$theme_key`, refers to
446
- * the theme slug as found in the WordPress.org themes repository.
447
- *
448
- * @since Wordpress 3.1.0
449
- * }
450
- */
451
- do_action( "in_theme_update_message-{$init}", $this->_plugins[ $init ], $r->changelog, $changelog_id );
452
-
453
- echo '</div></td></tr>';
454
- }
455
- }
456
-
457
- /**
458
- * Remove the standard plugin_update_row
459
- *
460
- * Remove the standard plugin_update_row and Add a custom 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 remove_wp_plugin_update_row() {
470
- foreach( $this->_plugins as $init => $plugin ){
471
- remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10, 2 );
472
- add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
473
- add_action( "in_theme_update_message-{$init}", array( $this, 'in_theme_update_message' ), 10, 3 );
474
- }
475
- }
476
-
477
- public function in_theme_update_message( $plugin, $changelog, $changelog_id, $echo = true ){
478
-
479
- $res = "<div id='{$changelog_id}' class='yit-plugin-changelog-wrapper'>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
480
  <div class='yit-plugin-changelog'>
481
  <h2 class='yit-plugin-changelog-title'>{$plugin['info']['Name']} - Changelog</h2>
482
  <p>{$changelog}</p>
483
  </div>
484
  </div>";
485
 
486
- if( $echo ){
487
- echo $res;
488
- }
489
- else{
490
- return $res;
491
- }
492
- }
493
-
494
- /**
495
- * Auto-Update Plugin in multisite
496
- *
497
- * Manage the non standard upgrade-plugin-multisite action
498
- *
499
- * @return void
500
- *
501
- * @since 1.0
502
- * @see upgrade-plugin action
503
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
504
- */
505
- public function upgrade_plugin_multisite(){
506
-
507
- $plugin = isset($_REQUEST['plugin']) ? trim($_REQUEST['plugin']) : '';
508
- $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
509
-
510
- if( 'upgrade-plugin-multisite' != $action ){
511
- wp_die( __( 'You can\'t update the plugins for this site.', 'yith-plugin-fw' ) );
512
- }
513
-
514
- if ( ! current_user_can( 'update_plugins' ) ) {
515
- wp_die( __( 'You do not have sufficient permissions to update the plugins for this site.', 'yith-plugin-fw' ) );
516
- }
517
-
518
- $this->check_update( get_site_transient( 'update_plugins') , true );
519
-
520
- check_admin_referer( 'upgrade-plugin-multisite_' . $plugin );
521
-
522
- $title = __( 'Update Plugin', 'yith-plugin-fw' );
523
- $parent_file = 'plugins.php';
524
- $submenu_file = 'plugins.php';
525
-
526
- wp_enqueue_script( 'updates' );
527
- require_once( ABSPATH . 'wp-admin/admin-header.php' );
528
-
529
- $nonce = 'upgrade-plugin-multisite_' . $plugin;
530
- $url = 'update.php?action=upgrade-plugin-multisite&plugin=' . urlencode( $plugin );
531
-
532
- $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact( 'title', 'nonce', 'url', 'plugin' ) ) );
533
- $upgrader->upgrade( $plugin );
534
-
535
- include( ABSPATH . 'wp-admin/admin-footer.php' );
536
- }
537
- }
538
  }
539
 
540
  if ( ! function_exists( 'YIT_Upgrade' ) ) {
541
- /**
542
- * Main instance of plugin
543
- *
544
- * @return YIT_Upgrade
545
- * @since 1.0
546
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
547
- */
548
- function YIT_Upgrade() {
549
- return YIT_Upgrade::instance();
550
- }
551
  }
552
 
553
  /**
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
+ if ( is_network_admin() ) {
59
+ add_action( 'admin_enqueue_scripts', array( $this, 'network_admin_enqueue_scripts' ) );
60
+ }
61
+
62
+ $is_debug_enabled = defined( 'YIT_LICENCE_DEBUG' ) && YIT_LICENCE_DEBUG;
63
+ if ( $is_debug_enabled ) {
64
+ $this->_package_url = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
65
+ add_filter( 'block_local_requests', '__return_false' );
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Main plugin Instance
71
+ *
72
+ * @param $plugin_slug | string The plugin slug
73
+ * @param $plugin_init | string The plugin init file
74
+ *
75
+ * @return void
76
+ *
77
+ * @since 1.0
78
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
79
+ */
80
+ public function register( $plugin_slug, $plugin_init ) {
81
+
82
+ if ( ! function_exists( 'get_plugins' ) ) {
83
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
84
+ }
85
+
86
+ $plugins = get_plugins();
87
+ $plugin_info = $plugins[ $plugin_init ];
88
+
89
+ $this->_plugins[ $plugin_init ] = array(
90
+ 'info' => $plugin_info,
91
+ 'slug' => $plugin_slug,
92
+ );
93
+
94
+ /* === HOOKS === */
95
+ if ( ! is_multisite() || is_plugin_active_for_network( $plugin_init ) ) {
96
+ add_action( 'load-plugins.php', array( $this, 'remove_wp_plugin_update_row' ), 25 );
97
+ add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
98
+ } else if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
99
+ $transient = 'yith_register_' . md5( $plugin_slug );
100
+ if ( apply_filters( 'yith_register_delete_transient', false ) ) {
101
+ delete_transient( $transient );
102
+ }
103
+ $info = get_transient( $transient );
104
+ if ( false === $info || apply_filters( 'yith_register_delete_transient', false ) ) {
105
+ $xml = str_replace( '%plugin_slug%', $plugin_slug, $this->_xml );
106
+ $remote_xml = wp_remote_get( $xml );
107
+
108
+ if ( ! is_wp_error( $remote_xml ) && isset( $remote_xml['response']['code'] ) && '200' == $remote_xml['response']['code'] ) {
109
+ $plugin_remote_info = new SimpleXmlElement( $remote_xml['body'] );
110
+ $info['Latest'] = (string) $plugin_remote_info->latest;
111
+ $info['changelog'] = (string) $plugin_remote_info->changelog;
112
+ YIT_Plugin_Licence()->check( $plugin_slug, false );
113
+ set_transient( $transient, $info, DAY_IN_SECONDS );
114
+ }
115
+ }
116
+
117
+ $this->_plugins[ $plugin_init ]['info']['Latest'] = $info['Latest'];
118
+ $this->_plugins[ $plugin_init ]['info']['changelog'] = $info['changelog'];
119
+ add_action( 'admin_enqueue_scripts', array( $this, 'multisite_updater_script' ) );
120
+ }
121
+ }
122
+
123
+ /**
124
+ * Add the multisite updater scripts
125
+ *
126
+ * @return void
127
+ *
128
+ * @since 1.0
129
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
130
+ */
131
+ public function multisite_updater_script() {
132
+
133
+ $update_url = $changelogs = $details_url = array();
134
+ $strings = array(
135
+ 'new_version' => __( 'There is a new version of %plugin_name% available.', 'yith-plugin-fw' ),
136
+ 'latest' => __( 'View version %latest% details.', 'yith-plugin-fw' ),
137
+ 'unavailable' => __( 'Automatic update is unavailable for this plugin,', 'yith-plugin-fw' ),
138
+ 'activate' => __( 'please <a href="%activate_link%">activate</a> your copy of %plugin_name%.', 'yith-plugin-fw' ),
139
+ 'update_now' => __( 'Update now.', 'yith-plugin-fw' )
140
+
141
+ );
142
+
143
+ foreach ( $this->_plugins as $init => $info ) {
144
+ $update_url[ $init ] = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin-multisite&plugin=' ) . $init, 'upgrade-plugin-multisite_' . $init );
145
+ $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
146
+ $details_url[ $init ] = '#TB_inline' . esc_url( add_query_arg( array( 'width' => 722, 'height' => 914, 'inlineId' => $changelog_id ), '' ) );
147
+ $plugin_changelog = isset( $this->_plugins[ $init ]['info']['changelog'] ) ? $this->_plugins[ $init ]['info']['changelog'] : '';
148
+ $changelogs[ $init ] = $this->in_theme_update_message( $this->_plugins[ $init ], $plugin_changelog, $changelog_id, false );
149
+ }
150
+
151
+ $localize_script_args = array(
152
+ 'registered' => $this->_plugins,
153
+ 'activated' => YIT_Plugin_Licence()->get_activated_products(),
154
+ 'licence_activation_url' => YIT_Plugin_Licence()->get_licence_activation_page_url(),
155
+ 'update_url' => $update_url,
156
+ 'details_url' => $details_url,
157
+ 'strings' => $strings,
158
+ 'changelogs' => $changelogs
159
+ );
160
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
161
+ yit_enqueue_script( 'yit-multisite-updater', YIT_CORE_PLUGIN_URL . '/assets/js/multisite-updater' . $suffix . '.js', array( 'jquery' ), false, true );
162
+
163
+ wp_localize_script( 'yit-multisite-updater', 'plugins', $localize_script_args );
164
+ }
165
+
166
+ public function network_admin_enqueue_scripts() {
167
+ yit_enqueue_style( 'yit-upgrader', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrader.css' );
168
+ }
169
+
170
+ /**
171
+ * Retrive the zip package file
172
+ *
173
+ * @param bool $reply Whether to bail without returning the package. Default false.
174
+ * @param string $package The package file name.
175
+ * @param \WP_Upgrader $upgrader WP_Upgrader instance.
176
+ *
177
+ * @return string | The download file
178
+ *
179
+ * @since 1.0
180
+ * @see wp-admin/includes/class-wp-upgrader.php
181
+ * @access public
182
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
183
+ */
184
+ public function upgrader_pre_download( $reply, $package, $upgrader ) {
185
+ $plugin = false;
186
+ $is_bulk = $upgrader->skin instanceof Bulk_Plugin_Upgrader_Skin;
187
+
188
+ if ( ! $is_bulk ) {
189
+ $plugin = isset( $upgrader->skin->plugin ) ? $upgrader->skin->plugin : false;
190
+ } else {
191
+ //Bulk action upgrade
192
+ $action_url = parse_url( $upgrader->skin->options['url'] );
193
+ parse_str( rawurldecode( htmlspecialchars_decode( $action_url['query'] ) ) );
194
+ $plugins = explode( ',', $plugins );
195
+ foreach ( $plugins as $plugin_init ) {
196
+ $to_upgrade = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_init );
197
+ if ( $to_upgrade['Name'] == $upgrader->skin->plugin_info['Name'] ) {
198
+ $plugin = $plugin_init;
199
+ }
200
+ }
201
+ }
202
+
203
+ /**
204
+ * It isn't YITH Premium plugins, please wordpress update it for me!
205
+ */
206
+ if ( ! $plugin ) {
207
+ return $reply;
208
+ }
209
+
210
+ $plugin_info = YIT_Plugin_Licence()->get_product( $plugin );
211
+
212
+ /**
213
+ * False ? It isn't YITH Premium plugins, please wordpress update it for me!
214
+ */
215
+ if ( false === $plugin_info ) {
216
+ return $reply;
217
+ }
218
+
219
+ $licence = YIT_Plugin_Licence()->get_licence();
220
+ $product_id = $plugin_info['product_id'];
221
+ $args = array(
222
+ 'email' => $licence[ $product_id ]['email'],
223
+ 'licence_key' => $licence[ $product_id ]['licence_key'],
224
+ 'product_id' => $plugin_info['product_id'],
225
+ 'secret_key' => $plugin_info['secret_key'],
226
+ 'instance' => YIT_Plugin_Licence()->get_home_url(),
227
+ 'wc-api' => 'download-api',
228
+ 'request' => 'download'
229
+ );
230
+
231
+ if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) {
232
+ //Local file or remote?
233
+ return $package;
234
+ }
235
+
236
+ if ( empty( $package ) ) {
237
+ return new WP_Error( 'no_package', $upgrader->strings['no_package'] );
238
+ }
239
+
240
+ $upgrader->skin->feedback( 'downloading_package', __( 'YIThemes Repository', 'yith-plugin-fw' ) );
241
+
242
+ $download_file = $this->_download_url( $package, $args );
243
+
244
+ /**
245
+ * Regenerate update_plugins transient
246
+ */
247
+ $this->force_regenerate_update_transient();
248
+
249
+ if ( is_wp_error( $download_file ) ) {
250
+ return new WP_Error( 'download_failed', $upgrader->strings['download_failed'], $download_file->get_error_message() );
251
+ }
252
+
253
+ return $download_file;
254
+ }
255
+
256
+ /**
257
+ * Retrive the temp filename
258
+ *
259
+ * @param string $url The package url
260
+ * @param string $body The post data fields
261
+ * @param int $timeout Execution timeout (default: 300)
262
+ *
263
+ * @return string | The temp filename
264
+ *
265
+ * @since 1.0
266
+ * @see wp-admin/includes/class-wp-upgrader.php
267
+ * @access protected
268
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
269
+ */
270
+ protected function _download_url( $url, $body, $timeout = 300 ) {
271
+
272
+ //WARNING: The file is not automatically deleted, The script must unlink() the file.
273
+ if ( ! $url ) {
274
+ return new WP_Error( 'http_no_url', __( 'Invalid URL Provided.', 'yit' ) );
275
+ }
276
+
277
+ $tmpfname = wp_tempnam( $url );
278
+
279
+ $args = array(
280
+ 'timeout' => $timeout,
281
+ 'stream' => true,
282
+ 'filename' => $tmpfname,
283
+ 'body' => $body
284
+ );
285
+
286
+ if ( ! $tmpfname ) {
287
+ return new WP_Error( 'http_no_file', __( 'Could not create Temporary file.', 'yit' ) );
288
+ }
289
+
290
+ $response = wp_safe_remote_post( $url, $args );
291
+
292
+ if ( is_wp_error( $response ) ) {
293
+ unlink( $tmpfname );
294
+
295
+ return $response;
296
+ }
297
+
298
+ if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
299
+ unlink( $tmpfname );
300
+
301
+ return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
302
+ }
303
+
304
+ $content_md5 = wp_remote_retrieve_header( $response, 'content-md5' );
305
+
306
+ if ( $content_md5 ) {
307
+ $md5_check = verify_file_md5( $tmpfname, $content_md5 );
308
+ if ( is_wp_error( $md5_check ) ) {
309
+ unlink( $tmpfname );
310
+
311
+ return $md5_check;
312
+ }
313
+ }
314
+
315
+ return $tmpfname;
316
+ }
317
+
318
+ /**
319
+ * Main plugin Instance
320
+ *
321
+ * @static
322
+ * @return object Main instance
323
+ *
324
+ * @since 1.0
325
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
326
+ */
327
+ public static function instance() {
328
+ if ( is_null( self::$_instance ) ) {
329
+ self::$_instance = new self();
330
+ }
331
+
332
+ return self::$_instance;
333
+ }
334
+
335
+ /**
336
+ * Delete the update plugins transient
337
+ *
338
+ * @return void
339
+ *
340
+ * @since 1.0
341
+ * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
342
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
343
+ */
344
+ public function force_regenerate_update_transient() {
345
+ delete_site_transient( 'update_plugins' );
346
+ }
347
+
348
+ /**
349
+ * Check for plugins update
350
+ *
351
+ * If a new plugin version is available set it in the pre_set_site_transient_update_plugins hooks
352
+ *
353
+ * @param mixed $transient | update_plugins transient value
354
+ * @param bool $save | Default: false. Set true to regenerate the update_transient plugins
355
+ *
356
+ * @return mixed $transient | The new update_plugins transient value
357
+ *
358
+ * @since 1.0
359
+ * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
360
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
361
+ */
362
+ public function check_update( $transient, $save = false ) {
363
+
364
+ foreach ( $this->_plugins as $init => $plugin ) {
365
+ $xml = str_replace( '%plugin_slug%', $this->_plugins[ $init ]['slug'], $this->_xml );
366
+ $remote_xml = wp_remote_get( $xml );
367
+
368
+ if ( ! is_wp_error( $remote_xml ) && isset( $remote_xml['response']['code'] ) && '200' == $remote_xml['response']['code'] ) {
369
+
370
+ try {
371
+
372
+ $plugin_remote_info = new SimpleXmlElement( $remote_xml['body'] );
373
+
374
+ if ( version_compare( $plugin_remote_info->latest, $plugin['info']['Version'], '>' ) && ! isset( $transient->response[ $init ] ) ) {
375
+
376
+ $package = YIT_Plugin_Licence()->check( $init ) ? $this->_package_url : null;
377
+
378
+ $obj = new stdClass();
379
+ $obj->slug = (string) $init;
380
+ $obj->new_version = (string) $plugin_remote_info->latest;
381
+ $obj->changelog = (string) $plugin_remote_info->changelog;
382
+ $obj->package = $package;
383
+ $obj->plugin = $init;
384
+ $transient->response[ $init ] = $obj;
385
+ }
386
+
387
+ } catch ( Exception $e ) {
388
+
389
+ return $transient;
390
+
391
+ }
392
+
393
+ }
394
+ }
395
+
396
+ if ( $save ) {
397
+ set_site_transient( 'update_plugins', $transient );
398
+ }
399
+
400
+ return $transient;
401
+ }
402
+
403
+ /**
404
+ * Add the plugin update row in plugin page
405
+ *
406
+ * @return void
407
+ * @fire "in_theme_update_message-{$init}" action
408
+ *
409
+ * @since 1.0
410
+ * @see after_plugin_row_{$init} action
411
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
412
+ */
413
+ public function plugin_update_row() {
414
+
415
+ $current = get_site_transient( 'update_plugins' );
416
+ $init = str_replace( 'after_plugin_row_', '', current_filter() );
417
+
418
+ if ( ! isset( $current->response[ $init ] ) ) {
419
+ return false;
420
+ }
421
+
422
+ /**
423
+ * stdClass Object
424
+ */
425
+ $r = $current->response[ $init ];
426
+
427
+ $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
428
+ $details_url = '#TB_inline' . esc_url( add_query_arg( array( 'width' => 722, 'height' => 914, 'inlineId' => $changelog_id ), '' ) );
429
+
430
+ /**
431
+ * @see wp_plugin_update_rows() in wp-single\wp-admin\includes\update.php
432
+ */
433
+ $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' );
434
+
435
+ if ( is_network_admin() || ! is_multisite() || true ) {
436
+ global $wp_version;
437
+ $is_wp_4_6 = version_compare( $wp_version, '4.6', '>=' );
438
+
439
+ echo '<tr class="plugin-update-tr' . ( is_plugin_active( $init ) ? ' active' : '' ) . '"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange">';
440
+
441
+ echo '<div class="update-message' . ( $is_wp_4_6 ? ' notice inline notice-warning notice-alt' : '' ) . '">';
442
+
443
+ echo( $is_wp_4_6 ? '<p>' : '' );
444
+
445
+ if ( ! current_user_can( 'update_plugins' ) ) {
446
+ 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 );
447
+ } elseif ( is_plugin_active_for_network( $init ) ) {
448
+ 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 );
449
+ } elseif ( empty( $r->package ) ) {
450
+ 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'] );
451
+ } else {
452
+ 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 ) );
453
+ }
454
+
455
+ echo( $is_wp_4_6 ? '</p>' : '' );
456
+
457
+ /**
458
+ * Fires at the end of the update message container in each
459
+ * row of the themes list table.
460
+ *
461
+ * The dynamic portion of the hook name, `$theme_key`, refers to
462
+ * the theme slug as found in the WordPress.org themes repository.
463
+ *
464
+ * @since Wordpress 3.1.0
465
+ * }
466
+ */
467
+ do_action( "in_theme_update_message-{$init}", $this->_plugins[ $init ], $r->changelog, $changelog_id );
468
+
469
+ echo '</div></td></tr>';
470
+ }
471
+ }
472
+
473
+ /**
474
+ * Remove the standard plugin_update_row
475
+ *
476
+ * Remove the standard plugin_update_row and Add a custom plugin update row in plugin page.
477
+ *
478
+ * @return void
479
+ * @fire "in_theme_update_message-{$init}" action
480
+ *
481
+ * @since 1.0
482
+ * @see after_plugin_row_{$init} action
483
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
484
+ */
485
+ public function remove_wp_plugin_update_row() {
486
+ foreach ( $this->_plugins as $init => $plugin ) {
487
+ remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10 );
488
+ add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
489
+ add_action( "in_theme_update_message-{$init}", array( $this, 'in_theme_update_message' ), 10, 3 );
490
+ }
491
+ }
492
+
493
+ public function in_theme_update_message( $plugin, $changelog, $changelog_id, $echo = true ) {
494
+
495
+ $res = "<div id='{$changelog_id}' class='yit-plugin-changelog-wrapper'>
496
  <div class='yit-plugin-changelog'>
497
  <h2 class='yit-plugin-changelog-title'>{$plugin['info']['Name']} - Changelog</h2>
498
  <p>{$changelog}</p>
499
  </div>
500
  </div>";
501
 
502
+ if ( $echo ) {
503
+ echo $res;
504
+ } else {
505
+ return $res;
506
+ }
507
+ }
508
+
509
+ /**
510
+ * Auto-Update Plugin in multisite
511
+ *
512
+ * Manage the non standard upgrade-plugin-multisite action
513
+ *
514
+ * @return void
515
+ *
516
+ * @since 1.0
517
+ * @see upgrade-plugin action
518
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
519
+ */
520
+ public function upgrade_plugin_multisite() {
521
+
522
+ $plugin = isset( $_REQUEST['plugin'] ) ? trim( $_REQUEST['plugin'] ) : '';
523
+ $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : '';
524
+
525
+ if ( 'upgrade-plugin-multisite' != $action ) {
526
+ wp_die( __( 'You can\'t update the plugins for this site.', 'yith-plugin-fw' ) );
527
+ }
528
+
529
+ if ( ! current_user_can( 'update_plugins' ) ) {
530
+ wp_die( __( 'You do not have sufficient permissions to update the plugins for this site.', 'yith-plugin-fw' ) );
531
+ }
532
+
533
+ $this->check_update( get_site_transient( 'update_plugins' ), true );
534
+
535
+ check_admin_referer( 'upgrade-plugin-multisite_' . $plugin );
536
+
537
+ $title = __( 'Update Plugin', 'yith-plugin-fw' );
538
+ $parent_file = 'plugins.php';
539
+ $submenu_file = 'plugins.php';
540
+
541
+ wp_enqueue_script( 'updates' );
542
+ require_once( ABSPATH . 'wp-admin/admin-header.php' );
543
+
544
+ $nonce = 'upgrade-plugin-multisite_' . $plugin;
545
+ $url = 'update.php?action=upgrade-plugin-multisite&plugin=' . urlencode( $plugin );
546
+
547
+ $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact( 'title', 'nonce', 'url', 'plugin' ) ) );
548
+ $upgrader->upgrade( $plugin );
549
+
550
+ include( ABSPATH . 'wp-admin/admin-footer.php' );
551
+ }
552
+ }
 
553
  }
554
 
555
  if ( ! function_exists( 'YIT_Upgrade' ) ) {
556
+ /**
557
+ * Main instance of plugin
558
+ *
559
+ * @return YIT_Upgrade
560
+ * @since 1.0
561
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
562
+ */
563
+ function YIT_Upgrade() {
564
+ return YIT_Upgrade::instance();
565
+ }
566
  }
567
 
568
  /**
plugin-fw/lib/yit-video.php CHANGED
@@ -104,10 +104,13 @@ if ( ! class_exists( 'YIT_Video' ) ) {
104
  ob_start();
105
 
106
  $id = preg_replace( '/[&|&amp;]feature=([\w\-]*)/', '', $id );
107
- $id = preg_replace( '/(youtube|vimeo):/', '', $id ); ?>
 
 
 
108
 
109
  <div class="post_video vimeo">
110
- <iframe wmode="transparent" src="http://player.vimeo.com/video/<?php echo $id; ?>?title=0&amp;byline=0&amp;portrait=0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
111
  </div>
112
 
113
  <?php
@@ -131,6 +134,7 @@ if ( ! class_exists( 'YIT_Video' ) ) {
131
  */
132
  public static function video_id_by_url( $url ) {
133
  $parsed = parse_url( esc_url( $url ) );
 
134
  if ( ! isset( $parsed['host'] ) ) {
135
  return false;
136
  }
104
  ob_start();
105
 
106
  $id = preg_replace( '/[&|&amp;]feature=([\w\-]*)/', '', $id );
107
+ $id = preg_replace( '/(youtube|vimeo):/', '', $id );
108
+ $http = is_ssl()? 'https' : 'http';
109
+ ?>
110
+
111
 
112
  <div class="post_video vimeo">
113
+ <iframe wmode="transparent" src="<?php echo $http;?>://player.vimeo.com/video/<?php echo $id; ?>?title=0&amp;byline=0&amp;portrait=0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
114
  </div>
115
 
116
  <?php
134
  */
135
  public static function video_id_by_url( $url ) {
136
  $parsed = parse_url( esc_url( $url ) );
137
+
138
  if ( ! isset( $parsed['host'] ) ) {
139
  return false;
140
  }
plugin-fw/licence/lib/yit-licence.php CHANGED
@@ -48,7 +48,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
48
  * @var string The yithemes api uri
49
  * @since 1.0
50
  */
51
- protected $_api_uri = 'http://yithemes.com';
52
 
53
  /**
54
  * @var string The yithemes api uri query args
@@ -95,8 +95,9 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
95
  }
96
 
97
  /* Update Licence Information */
98
- add_action( 'core_upgrade_preamble', array( $this, 'check_all' ) );
99
- add_action( 'wp_maybe_auto_update', array( $this, 'check_all' ) );
 
100
 
101
  }
102
 
@@ -142,7 +143,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
142
  $home_url = str_replace( $scheme, '', $home_url );
143
  }
144
 
145
- return $home_url;
146
  }
147
 
148
  /**
@@ -672,7 +673,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
672
  '105' => __( 'Invalid security key', 'yith-plugin-fw' ),
673
  '106' => __( 'License key has expired', 'yith-plugin-fw' ),
674
  '107' => __( 'License key has been banned', 'yith-plugin-fw' ),
675
- '108' => __( 'Current product is not included with your membership key', 'woocommerce-software-add-on' ),
676
  '200' => sprintf( '<strong>%s</strong>! %s',__( 'Great', 'yith-plugin-fw' ), __( 'License successfully activated', 'yith-plugin-fw' ) ),
677
  'deactivated' => sprintf( '%s <strong>%s</strong>', __( 'License key deactivated for website', 'woocommerce-software-add-on' ), isset( $instance ) ? $instance : '' )
678
  );
@@ -691,7 +692,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
691
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
692
  */
693
  public function display_product_name( $product_name ){
694
- return str_replace( array( 'YITH', 'WooCommerce', 'Premium', 'Theme' ), '', $product_name );
695
  }
696
 
697
  public function get_number_of_membership_products(){
48
  * @var string The yithemes api uri
49
  * @since 1.0
50
  */
51
+ protected $_api_uri = 'https://yithemes.com';
52
 
53
  /**
54
  * @var string The yithemes api uri query args
95
  }
96
 
97
  /* Update Licence Information */
98
+ //@TODO: Removed for performance
99
+ // add_action( 'core_upgrade_preamble', array( $this, 'check_all' ) );
100
+ // add_action( 'wp_maybe_auto_update', array( $this, 'check_all' ) );
101
 
102
  }
103
 
143
  $home_url = str_replace( $scheme, '', $home_url );
144
  }
145
 
146
+ return apply_filters('yit_licence_get_home_url', $home_url );
147
  }
148
 
149
  /**
673
  '105' => __( 'Invalid security key', 'yith-plugin-fw' ),
674
  '106' => __( 'License key has expired', 'yith-plugin-fw' ),
675
  '107' => __( 'License key has been banned', 'yith-plugin-fw' ),
676
+ '108' => __( 'Current product is not included in your YITH Club Subscription key', 'yith-plugin-fw' ),
677
  '200' => sprintf( '<strong>%s</strong>! %s',__( 'Great', 'yith-plugin-fw' ), __( 'License successfully activated', 'yith-plugin-fw' ) ),
678
  'deactivated' => sprintf( '%s <strong>%s</strong>', __( 'License key deactivated for website', 'woocommerce-software-add-on' ), isset( $instance ) ? $instance : '' )
679
  );
692
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
693
  */
694
  public function display_product_name( $product_name ){
695
+ return str_replace( array( 'for WooCommerce', 'YITH', 'WooCommerce', 'Premium', 'Theme', 'WordPress' ), '', $product_name );
696
  }
697
 
698
  public function get_number_of_membership_products(){
plugin-fw/licence/lib/yit-plugin-licence.php CHANGED
@@ -71,9 +71,9 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
71
  );
72
 
73
  add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
74
- add_action( "wp_ajax_activate-{$this->_product_type}", array( $this, 'activate' ) );
75
- add_action( "wp_ajax_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
76
- add_action( "wp_ajax_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
77
  add_action( 'yit_licence_after_check', array( $this, 'licence_after_check' ) );
78
  }
79
 
71
  );
72
 
73
  add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
74
+ add_action( "wp_ajax_yith_activate-{$this->_product_type}", array( $this, 'activate' ) );
75
+ add_action( "wp_ajax_yith_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
76
+ add_action( "wp_ajax_yith_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
77
  add_action( 'yit_licence_after_check', array( $this, 'licence_after_check' ) );
78
  }
79
 
plugin-fw/licence/lib/yit-theme-licence.php CHANGED
@@ -73,9 +73,9 @@ if ( !class_exists( 'YIT_Theme_Licence' ) ) {
73
  );
74
 
75
  add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
76
- add_action( "wp_ajax_activate-{$this->_product_type}", array( $this, 'activate' ) );
77
- add_action( "wp_ajax_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
78
- add_action( "wp_ajax_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
79
  }
80
 
81
  /**
73
  );
74
 
75
  add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
76
+ add_action( "wp_ajax_yith_activate-{$this->_product_type}", array( $this, 'activate' ) );
77
+ add_action( "wp_ajax_yith_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
78
+ add_action( "wp_ajax_yith_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
79
  }
80
 
81
  /**
plugin-fw/licence/templates/panel/activation/activation-panel.php CHANGED
@@ -25,7 +25,7 @@ $num_members_products_activate = $this->get_number_of_membership_products();
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="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>
@@ -61,7 +61,7 @@ $num_members_products_activate = $this->get_number_of_membership_products();
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="activate-<?php echo $this->get_product_type(); ?>" />
65
  <input type="hidden" name="product_init" value="<?php echo $init ?>" />
66
  </tbody>
67
  </table>
@@ -94,7 +94,7 @@ $num_members_products_activate = $this->get_number_of_membership_products();
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( 'Membership', 'yith-plugin-fw' ) ?></th>
98
  <?php endif; ?>
99
  <?php endif; ?>
100
 
@@ -138,12 +138,12 @@ $num_members_products_activate = $this->get_number_of_membership_products();
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="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 $this->get_renewing_uri( $info['licence']['licence_key'] ) ?>" target="_blank">
147
  <?php _e( 'Renew', 'yith-plugin-fw' ) ?>
148
  </a>
149
  <?php endif; ?>
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>
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>
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
 
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; ?>
plugin-fw/templates/panel/types/colorpicker.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ /**
12
+ * Text Plugin Admin View
13
+ *
14
+ * @package Yithemes
15
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
16
+ * @since 1.0.0
17
+ */
18
+
19
+ if ( ! defined( 'ABSPATH' ) ) {
20
+ exit;
21
+ } // Exit if accessed directly
22
+
23
+ wp_enqueue_style('wp-color-picker');
24
+
25
+ $id = $this->get_id_field( $option['id'] );
26
+ $name = $this->get_name_field( $option['id'] );
27
+
28
+ ?>
29
+ <div id="<?php echo $id ?>-container" <?php if ( isset( $option['deps'] ) ): ?>data-field="<?php echo $id ?>" data-dep="<?php echo $this->get_id_field( $option['deps']['ids'] ) ?>" data-value="<?php echo $option['deps']['values'] ?>" <?php endif ?> class="yit_options rm_option rm_input rm_colorpicker">
30
+ <div class="option">
31
+ <input type="text" name="<?php echo $name ?>" id="<?php echo $id ?>" value="<?php echo esc_attr( $db_value ) ?>" <?php if( isset( $std ) ) : ?>data-default-color="<?php echo $std ?>"<?php endif ?> class="panel-colorpicker"/>
32
+
33
+ </div>
34
+ <span class="description"><?php echo $option['desc'] ?></span>
35
+
36
+ <div class="clear"></div>
37
+ </div>
38
+
plugin-fw/templates/panel/types/number.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ /**
12
+ * Number Plugin Admin View
13
+ *
14
+ * @package Yithemes
15
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
16
+ * @since 1.0.0
17
+ */
18
+
19
+ if ( ! defined( 'ABSPATH' ) ) {
20
+ exit;
21
+ } // Exit if accessed directly
22
+
23
+ $id = $this->get_id_field( $option['id'] );
24
+ $name = $this->get_name_field( $option['id'] );
25
+
26
+ ?>
27
+ <div id="<?php echo $id ?>-container" <?php if ( isset( $option['deps'] ) ): ?>data-field="<?php echo $id ?>" data-dep="<?php echo $this->get_id_field( $option['deps']['ids'] ) ?>" data-value="<?php echo $option['deps']['values'] ?>" <?php endif ?> class="yit_options rm_option rm_input rm_text">
28
+ <div class="option">
29
+ <input type="number" name="<?php echo $name ?>" id="<?php echo $id ?>" value="<?php echo esc_attr( $db_value ) ?>" <?php echo $custom_attributes ?> />
30
+ </div>
31
+ <span class="description"><?php echo $option['desc'] ?></span>
32
+
33
+ <div class="clear"></div>
34
+ </div>
35
+
plugin-fw/templates/panel/types/upload.php CHANGED
@@ -38,7 +38,7 @@ $name = $this->get_name_field( $option['id'] );
38
  <?php
39
  $file = $db_value;
40
  if ( preg_match( '/(jpg|jpeg|png|gif|ico)$/', $file ) ) {
41
- echo "<img src=\"" . $this->settings['plugin-url'] . "/plugin-fw/assets/images/sleep.png\" data-src=\"$file\" />";
42
  }
43
  ?>
44
  </div>
38
  <?php
39
  $file = $db_value;
40
  if ( preg_match( '/(jpg|jpeg|png|gif|ico)$/', $file ) ) {
41
+ echo isset( $this->settings['plugin-url'] ) ? "<img src=\"" . $this->settings['plugin-url'] . "/plugin-fw/assets/images/sleep.png\" data-src=\"$file\" />" : '';
42
  }
43
  ?>
44
  </div>
plugin-fw/templates/panel/woocommerce/woocommerce-form.php CHANGED
@@ -3,26 +3,28 @@ $hide_sidebar = $this->hide_sidebar();
3
  $panel_content_class = !$hide_sidebar ? apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' ) : 'yit-admin-panel-content-wrap-no-sidebar';
4
  ?>
5
 
6
- <div id="<?php echo $this->settings[ 'page' ] ?>_<?php echo $this->get_current_tab() ?>" class="yit-admin-panel-container">
7
- <div class="<?php echo $panel_content_class; ?>">
8
- <form id="plugin-fw-wc" method="post">
9
- <?php $this->add_fields() ?>
10
- <?php wp_nonce_field( 'yit_panel_wc_options_' . $this->settings[ 'page' ], 'yit_panel_wc_options_nonce' ); ?>
11
- <input style="float: left; margin-right: 10px;" class="button-primary" type="submit" value="<?php _e( 'Save Changes', 'yith-plugin-fw' ) ?>"/>
12
- </form>
13
- <form id="plugin-fw-wc-reset" method="post">
14
- <?php $warning = __( 'If you continue with this action, you will reset all options in this page.', 'yith-plugin-fw' ) ?>
15
- <input type="hidden" name="yit-action" value="wc-options-reset"/>
16
- <?php wp_nonce_field( 'yith_wc_reset_options_' . $this->settings[ 'page' ], 'yith_wc_reset_options_nonce' ); ?>
17
- <input type="submit" name="yit-reset" class="button-secondary" value="<?php _e( 'Reset Defaults', 'yith-plugin-fw' ) ?>"
18
- onclick="return confirm('<?php echo $warning . '\n' . __( 'Are you sure?', 'yith-plugin-fw' ) ?>');"/>
19
- </form>
20
- </div>
21
- <?php
22
- /**
23
- * Add panel Sidebar
24
- */
25
- if ( !$hide_sidebar )
26
- $this->print_panel_sidebar();
27
- ?>
28
- </div>
 
 
3
  $panel_content_class = !$hide_sidebar ? apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' ) : 'yit-admin-panel-content-wrap-no-sidebar';
4
  ?>
5
 
6
+ <div id="<?php echo $this->settings[ 'page' ] ?>_<?php echo $this->get_current_tab() ?>" class="yit-admin-panel-container">
7
+ <?php do_action( 'yit_framework_before_print_wc_panel_content', $current_tab ); ?>
8
+ <div class="<?php echo $panel_content_class; ?>">
9
+ <form id="plugin-fw-wc" method="post">
10
+ <?php $this->add_fields() ?>
11
+ <?php wp_nonce_field( 'yit_panel_wc_options_' . $this->settings[ 'page' ], 'yit_panel_wc_options_nonce' ); ?>
12
+ <input style="float: left; margin-right: 10px;" class="button-primary" type="submit" value="<?php _e( 'Save Changes', 'yith-plugin-fw' ) ?>"/>
13
+ </form>
14
+ <form id="plugin-fw-wc-reset" method="post">
15
+ <?php $warning = __( 'If you continue with this action, you will reset all options in this page.', 'yith-plugin-fw' ) ?>
16
+ <input type="hidden" name="yit-action" value="wc-options-reset"/>
17
+ <?php wp_nonce_field( 'yith_wc_reset_options_' . $this->settings[ 'page' ], 'yith_wc_reset_options_nonce' ); ?>
18
+ <input type="submit" name="yit-reset" class="button-secondary" value="<?php _e( 'Reset Defaults', 'yith-plugin-fw' ) ?>"
19
+ onclick="return confirm('<?php echo $warning . '\n' . __( 'Are you sure?', 'yith-plugin-fw' ) ?>');"/>
20
+ </form>
21
+ </div>
22
+ <?php
23
+ /**
24
+ * Add panel Sidebar
25
+ */
26
+ if ( !$hide_sidebar )
27
+ $this->print_panel_sidebar();
28
+ ?>
29
+ <?php do_action( 'yit_framework_after_print_wc_panel_content', $current_tab ); ?>
30
+ </div>
plugin-fw/yit-functions.php CHANGED
@@ -646,14 +646,27 @@ if ( ! function_exists ( 'yit_ie_version' ) ) {
646
  *
647
  * @return int|float
648
  * @since 1.0.0
649
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
650
  */
651
- function yit_ie_version () {
652
- preg_match ( '/MSIE ([0-9]\.[0-9])/', $_SERVER[ 'HTTP_USER_AGENT' ], $reg );
653
- if ( ! isset( $reg[ 1 ] ) ) {
654
  return - 1;
655
- } else {
656
- return floatval ( $reg[ 1 ] );
 
 
 
 
 
 
 
 
 
 
 
 
 
657
  }
658
  }
659
  }
646
  *
647
  * @return int|float
648
  * @since 1.0.0
649
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>, Andrea Frascaspata<andrea.frascaspata@yithemes.com>
650
  */
651
+ function yit_ie_version() {
652
+
653
+ if ( ! isset( $_SERVER['HTTP_USER_AGENT'] ) ) {
654
  return - 1;
655
+ }
656
+ preg_match( '/MSIE ([0-9]+\.[0-9])/', $_SERVER['HTTP_USER_AGENT'], $reg );
657
+
658
+ if ( ! isset( $reg[1] ) ) // IE 11 FIX
659
+ {
660
+ preg_match( '/rv:([0-9]+\.[0-9])/', $_SERVER['HTTP_USER_AGENT'], $reg );
661
+ if ( ! isset( $reg[1] ) ) {
662
+ return - 1;
663
+ }
664
+ else {
665
+ return floatval( $reg[1] );
666
+ }
667
+ }
668
+ else {
669
+ return floatval( $reg[1] );
670
  }
671
  }
672
  }
plugin-fw/yit-plugin.php CHANGED
@@ -19,6 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  ! defined( 'YIT_CORE_PLUGIN_TEMPLATE_PATH' ) && define( 'YIT_CORE_PLUGIN_TEMPLATE_PATH', YIT_CORE_PLUGIN_PATH . '/templates' );
20
 
21
  include_once( 'yit-functions.php' );
 
22
  include_once( 'yit-plugin-registration-hook.php' );
23
  include_once( 'lib/yit-metabox.php' );
24
  include_once( 'lib/yit-plugin-panel.php' );
@@ -40,3 +41,39 @@ load_textdomain( 'yith-plugin-fw', get_template_directory() . '/core/plugin-fw/y
40
 
41
  // ...or from plugin folder
42
  || load_textdomain( 'yith-plugin-fw', dirname(__FILE__) . '/languages/yith-plugin-fw-' . apply_filters( 'plugin_locale', get_locale(), 'yith-plugin-fw' ) . '.mo' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  ! defined( 'YIT_CORE_PLUGIN_TEMPLATE_PATH' ) && define( 'YIT_CORE_PLUGIN_TEMPLATE_PATH', YIT_CORE_PLUGIN_PATH . '/templates' );
20
 
21
  include_once( 'yit-functions.php' );
22
+ include_once( 'yit-woocommerce-compatibility.php' );
23
  include_once( 'yit-plugin-registration-hook.php' );
24
  include_once( 'lib/yit-metabox.php' );
25
  include_once( 'lib/yit-plugin-panel.php' );
41
 
42
  // ...or from plugin folder
43
  || load_textdomain( 'yith-plugin-fw', dirname(__FILE__) . '/languages/yith-plugin-fw-' . apply_filters( 'plugin_locale', get_locale(), 'yith-plugin-fw' ) . '.mo' );
44
+
45
+ if( apply_filters( 'yit_fw_wc_update_message_hook', true )
46
+ &&
47
+ ( function_exists( 'WC' ) && ! version_compare( WC()->version, '2.7', '>=' ) )
48
+ && ! isset( $_COOKIE['yith_wc_2_7_notice'] )
49
+ ){
50
+ add_action( 'admin_notices', 'yit_fw_wc_update_message', 15 );
51
+
52
+ if( ! function_exists( 'yit_fw_wc_update_message' ) ){
53
+ function yit_fw_wc_update_message(){
54
+ ?>
55
+ <div id="yith-notice-is-dismissable" class="yith-wc-update-message notice notice-error is-dismissible">
56
+ <?php $message = 'the new WooCommerce version 2.7 will be soon released. <strong>Before</strong> proceeding with the update, please verify the plugins you are using are already compatible. You can check the compatibility status of YITH products'; ?>
57
+ <?php $url = 'https://support.yithemes.com/hc/en-us/articles/215945378-Theme-and-Plugin-compatibility-with-WordPress-and-WooCommerce'; ?>
58
+ <p><?php printf( '<strong>%s</strong> - %s <a href="%s" target="_blank">HERE</a>.', 'Please note', $message, $url ); ?></p>
59
+ </div>
60
+ <?php
61
+ }
62
+ }
63
+
64
+ add_action( 'admin_enqueue_scripts', 'yit_plugin_fw_dismissable_notice', 20 );
65
+
66
+ if( ! function_exists( 'yit_plugin_fw_dismissable_notice' ) ){
67
+ function yit_plugin_fw_dismissable_notice(){
68
+ $assets_path = str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/';
69
+ wp_enqueue_script( 'jquery-cookie', $assets_path . 'js/jquery-cookie/jquery.cookie.min.js', array( 'jquery' ), '1.4.1', true);
70
+ $js = "jQuery( document ).ready( function(){
71
+ jQuery( '#yith-notice-is-dismissable' ).find('.notice-dismiss').on( 'click', function(){
72
+ jQuery.cookie('yith_wc_2_7_notice', 'dismiss', { path: '/' });
73
+ } );
74
+ } ); ";
75
+
76
+ wp_add_inline_script( 'jquery-cookie', $js );
77
+ }
78
+ }
79
+ }
plugin-fw/yit-woocommerce-compatibility.php ADDED
@@ -0,0 +1,694 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 ( !defined( 'ABSPATH' ) ) {
12
+ exit;
13
+ } // Exit if accessed directly
14
+
15
+ if ( !function_exists( 'WC' ) ) {
16
+ return;
17
+ }
18
+
19
+ $changed_objects = array();
20
+
21
+ if ( !function_exists( 'yit_get_prop' ) ) {
22
+ /**
23
+ *
24
+ */
25
+ function yit_get_prop( $object, $key, $single = true, $context = 'view' ) {
26
+
27
+ $prop_map = yit_return_new_attribute_map();
28
+ $is_wc_data = $object instanceof WC_Data;
29
+
30
+ if ( $is_wc_data ) {
31
+ $key = ( array_key_exists( $key, $prop_map ) ) ? $prop_map[ $key ] : $key;
32
+
33
+ if ( ( $getter = "get{$key}" ) && method_exists( $object, $getter ) ) {
34
+ return $object->$getter( $context );
35
+ } elseif ( ( $getter = "get_{$key}" ) && method_exists( $object, $getter ) ) {
36
+ return $object->$getter( $context );
37
+ } else {
38
+ return $object->get_meta( $key, $single );
39
+ }
40
+ } else {
41
+ $key = ( in_array( $key, $prop_map ) ) ? array_search( $key, $prop_map ) : $key;
42
+
43
+ if ( isset( $object->$key ) ) {
44
+ return $object->$key;
45
+ } elseif ( yit_wc_check_post_columns( $key ) ) {
46
+ return $object->post->$key;
47
+ } else {
48
+ $getter = 'get_user_meta';
49
+ !$object instanceof WC_Customer && $getter = 'get_post_meta';
50
+
51
+ $object_id = is_callable( array( $object, 'get_id' ) ) ? $object->get_id() : $object->id;
52
+
53
+ return $getter( $object_id, $key, true );
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ if ( !function_exists( 'yit_set_prop' ) ) {
60
+ /**
61
+ *
62
+ */
63
+ function yit_set_prop( $object, $arg1, $arg2 = false ) {
64
+
65
+ if ( !is_array( $arg1 ) ) {
66
+ $arg1 = array(
67
+ $arg1 => $arg2
68
+ );
69
+ }
70
+
71
+ $prop_map = yit_return_new_attribute_map();
72
+ $is_wc_data = $object instanceof WC_Data;
73
+
74
+ foreach ( $arg1 as $key => $value ) {
75
+ if ( $is_wc_data ) {
76
+ $key = ( array_key_exists( $key, $prop_map ) ) ? $prop_map[ $key ] : $key;
77
+
78
+ if ( ( $setter = "set{$key}" ) && method_exists( $object, $setter ) ) {
79
+ $object->$setter( $value );
80
+ } elseif ( ( $setter = "set_{$key}" ) && method_exists( $object, $setter ) ) {
81
+ $object->$setter( $value );
82
+ } else {
83
+ $object->update_meta_data( $key, $value );
84
+ }
85
+ } else {
86
+ $key = ( in_array( $key, $prop_map ) ) ? array_search( $key, $prop_map ) : $key;
87
+ ( strpos( $key, '_' ) === 0 ) && $key = substr( $key, 1 );
88
+
89
+ if ( yit_wc_check_post_columns( $key ) ) {
90
+ $object->post->$key = $value;
91
+ } else {
92
+ $object->$key = $value;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+
99
+ if ( !function_exists( 'yit_save_prop' ) ) {
100
+ /**
101
+ *
102
+ */
103
+ function yit_save_prop( $object, $arg1, $arg2 = false, $force_update = false ) {
104
+ if ( !is_array( $arg1 ) ) {
105
+ $arg1 = array(
106
+ $arg1 => $arg2
107
+ );
108
+ }
109
+
110
+ $is_wc_data = $object instanceof WC_Data;
111
+
112
+ foreach ( $arg1 as $key => $value ) {
113
+ yit_set_prop( $object, $key, $value );
114
+
115
+ if ( $is_wc_data ) {
116
+ if ( $force_update ) {
117
+ $object->save();
118
+ } else {
119
+ yit_store_changes( $object, $key, $value );
120
+ }
121
+ } else {
122
+ if ( yit_wc_check_post_columns( $key ) ) {
123
+ yit_store_changes( $object->post, $key, $value );
124
+ } else {
125
+ $object_id = is_callable( array( $object, 'get_id' ) ) ? $object->get_id() : $object->id;
126
+
127
+ update_post_meta( $object_id, $key, $value );
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ if ( !function_exists( 'yit_delete_prop' ) ) {
135
+ /**
136
+ *
137
+ */
138
+ function yit_delete_prop( $object, $key, $value = '' ) {
139
+ $prop_map = yit_return_new_attribute_map();
140
+ $is_wc_data = $object instanceof WC_Data;
141
+
142
+ if ( $is_wc_data ) {
143
+ $key = ( array_key_exists( $key, $prop_map ) ) ? $prop_map[ $key ] : $key;
144
+
145
+ if ( ( $setter = "set{$key}" ) && ( $getter = "get{$key}" ) && method_exists( $object, $setter ) && ( !$value || $object->$getter == $value ) ) {
146
+ $object->$setter( '' );
147
+ } elseif ( ( $setter = "set_{$key}" ) && ( $getter = "get_{$key}" ) && method_exists( $object, $setter ) && ( !$value || $object->$getter == $value ) ) {
148
+ $object->$setter( '' );
149
+ } elseif ( ( !$value || $object->get_meta( $key ) == $value ) ) {
150
+ $object->delete_meta_data( $key, $value );
151
+ }
152
+
153
+ yit_store_changes( $object, $key );
154
+ } else {
155
+ if ( yit_wc_check_post_columns( $key ) && ( !$value || $object->post->$key == $value ) ) {
156
+ yit_store_changes( $object->post, $key, '' );
157
+ } else {
158
+ $object_id = is_callable( array( $object, 'get_id' ) ) ? $object->get_id() : $object->id;
159
+
160
+ delete_post_meta( $object_id, $key, $value );
161
+ }
162
+ }
163
+ }
164
+ }
165
+
166
+ if ( !function_exists( 'yit_return_new_attribute_map' ) ) {
167
+ function yit_return_new_attribute_map() {
168
+ return array(
169
+ 'post_parent' => 'parent_id',
170
+ 'post_title' => 'name',
171
+ 'post_status' => 'status',
172
+ 'post_content' => 'description',
173
+ 'post_excerpt' => 'short_description',
174
+ /* Orders */
175
+ 'paid_date' => 'date_paid',
176
+ '_paid_date' => '_date_paid',
177
+ 'completed_date' => 'date_completed',
178
+ '_completed_date' => '_date_completed',
179
+ '_order_date' => '_date_created',
180
+ 'order_date' => 'date_created',
181
+ 'order_total' => 'total',
182
+ /* Products */
183
+ 'visibility' => 'catalog_visibility',
184
+ '_visibility' => '_catalog_visibility',
185
+ 'sale_price_dates_from' => 'date_on_sale_from',
186
+ '_sale_price_dates_from' => '_date_on_sale_from',
187
+ 'sale_price_dates_to' => 'date_on_sale_to',
188
+ '_sale_price_dates_to' => '_date_on_sale_to',
189
+ );
190
+ }
191
+ }
192
+
193
+ if ( !function_exists( 'yit_store_changes' ) ) {
194
+ function yit_store_changes( $object, $key, $value = false ) {
195
+ global $changed_objects;
196
+
197
+ $is_wc_data = $object instanceof WC_Data;
198
+
199
+ if ( $is_wc_data ) {
200
+ /**
201
+ * @var $object \WC_Data
202
+ */
203
+ $object_reference = $object->get_id();
204
+
205
+ $cache_type = is_a( $object, 'WC_Product' ) ? 'product' : 'order';
206
+ $cache_key = $cache_type . '-' . $object_reference;
207
+ $cache_group = $cache_type . 's';
208
+
209
+ $changed_objects[ $object_reference ][ 'object' ] = $object;
210
+ $changed_objects[ $object_reference ][ 'changes' ][ $key ] = $value;
211
+
212
+
213
+ wp_cache_set( $cache_key, $object, $cache_group );
214
+ } else {
215
+ $changed_objects[ $object->ID ][ $key ] = $value;
216
+ }
217
+ }
218
+ }
219
+
220
+ if ( !function_exists( 'yit_send_changes_to_db' ) ) {
221
+ function yit_send_changes_to_db() {
222
+ global $changed_objects;
223
+
224
+ if ( !empty( $changed_objects ) ) {
225
+ foreach ( $changed_objects as $id => $data ) {
226
+ if ( version_compare( WC()->version, '2.7.0', '>=' ) ) {
227
+ /**
228
+ * @var $object \WC_Data
229
+ */
230
+ $object = is_a( $data[ 'object' ], 'WC_Product' ) ? wc_get_product( $id ) : wc_get_order( $id );
231
+
232
+ yit_set_prop( $object, $data[ 'changes' ] );
233
+ $object->save();
234
+ } else {
235
+ $data[ 'ID' ] = $id;
236
+ wp_update_post( $data );
237
+ }
238
+ }
239
+ }
240
+ }
241
+ }
242
+
243
+ if ( !function_exists( 'yit_get_orders' ) ) {
244
+ /**
245
+ *
246
+ */
247
+ function yit_get_orders( $args ) {
248
+ if ( version_compare( WC()->version, '2.6', '<' ) ) {
249
+ $args[ 'fields' ] = 'objects';
250
+ $posts = get_posts( $args );
251
+
252
+ return array_map( 'wc_get_order', $posts );
253
+ } else {
254
+ return wc_get_orders( $args );
255
+ }
256
+ }
257
+ }
258
+
259
+ if ( !function_exists( 'yit_get_products' ) ) {
260
+ /**
261
+ *
262
+ */
263
+ function yit_get_products( $args ) {
264
+ if ( version_compare( WC()->version, '2.6', '<' ) ) {
265
+ $args[ 'fields' ] = 'objects';
266
+ $posts = get_posts( $args );
267
+
268
+ return array_map( 'wc_get_product', $posts );
269
+ } else {
270
+ return wc_get_products( $args );
271
+ }
272
+ }
273
+ }
274
+
275
+ if ( !function_exists( 'yit_update_product_stock' ) ) {
276
+ /**
277
+ *
278
+ */
279
+ function yit_update_product_stock( $product, $stock_quantity = 1, $operation = 'set' ) {
280
+ if ( function_exists( 'wc_update_product_stock' ) ) {
281
+ $stock = wc_update_product_stock( $product, $stock_quantity, $operation );
282
+ } else {
283
+ switch ( $operation ) {
284
+ case 'increase':
285
+ $stock = $product->increase_stock( $stock_quantity );
286
+ break;
287
+ case 'decrease':
288
+ $stock = $product->reduce_stock( $stock_quantity );
289
+ break;
290
+ case 'set':
291
+ default:
292
+ $stock = $product->set_stock( $stock_quantity );
293
+ break;
294
+ }
295
+ }
296
+
297
+ return $stock;
298
+ }
299
+ }
300
+
301
+ if ( !function_exists( 'yit_wc_deprecated_filters' ) ) {
302
+ /**
303
+ *
304
+ */
305
+ function yit_wc_deprecated_filters() {
306
+ return apply_filters( 'yit_wc_deprecated_filters', array(
307
+ 'woocommerce_email_order_schema_markup' => 'woocommerce_structured_data_order',
308
+ 'woocommerce_product_width' => 'woocommerce_product_get_width',
309
+ 'woocommerce_product_height' => 'woocommerce_product_get_height',
310
+ 'woocommerce_product_length' => 'woocommerce_product_get_length',
311
+ 'woocommerce_product_weight' => 'woocommerce_product_get_weight',
312
+ 'woocommerce_get_sku' => 'woocommerce_product_get_sku',
313
+ 'woocommerce_get_price' => 'woocommerce_product_get_price',
314
+ 'woocommerce_get_regular_price' => 'woocommerce_product_get_regular_price',
315
+ 'woocommerce_get_sale_price' => 'woocommerce_product_get_sale_price',
316
+ 'woocommerce_product_tax_class' => 'woocommerce_product_get_tax_class',
317
+ 'woocommerce_get_stock_quantity' => 'woocommerce_product_get_stock_quantity',
318
+ 'woocommerce_get_product_attributes' => 'woocommerce_product_get_attributes',
319
+ 'woocommerce_product_gallery_attachment_ids' => 'woocommerce_product_get_gallery_image_ids',
320
+ 'woocommerce_product_review_count' => 'woocommerce_product_get_review_count',
321
+ 'woocommerce_product_files' => 'woocommerce_product_get_downloads',
322
+ 'woocommerce_get_currency' => 'woocommerce_order_get_currency',
323
+ 'woocommerce_order_amount_discount_total' => 'woocommerce_order_get_discount_total',
324
+ 'woocommerce_order_amount_discount_tax' => 'woocommerce_order_get_discount_tax',
325
+ 'woocommerce_order_amount_shipping_total' => 'woocommerce_order_get_shipping_total',
326
+ 'woocommerce_order_amount_shipping_tax' => 'woocommerce_order_get_shipping_tax',
327
+ 'woocommerce_order_amount_cart_tax' => 'woocommerce_order_get_cart_tax',
328
+ 'woocommerce_order_amount_total' => 'woocommerce_order_get_total',
329
+ 'woocommerce_order_amount_total_tax' => 'woocommerce_order_get_total_tax',
330
+ 'woocommerce_order_amount_total_discount' => 'woocommerce_order_get_total_discount',
331
+ 'woocommerce_order_amount_subtotal' => 'woocommerce_order_get_subtotal',
332
+ 'woocommerce_order_tax_totals' => 'woocommerce_order_get_tax_totals',
333
+ 'woocommerce_refund_amount' => 'woocommerce_get_order_refund_get_amount',
334
+ 'woocommerce_refund_reason' => 'woocommerce_get_order_refund_get_reason',
335
+ 'default_checkout_country' => 'default_checkout_billing_country',
336
+ 'default_checkout_state' => 'default_checkout_billing_state',
337
+ 'default_checkout_postcode' => 'default_checkout_billing_postcode',
338
+
339
+ ) );
340
+ }
341
+ }
342
+
343
+ if ( !function_exists( 'yit_fix_wc_deprecated_filters' ) ) {
344
+ /**
345
+ *
346
+ */
347
+ function yit_fix_wc_deprecated_filters() {
348
+
349
+ if ( !version_compare( WC()->version, '2.7.0', '<' ) ) {
350
+ return;
351
+ }
352
+
353
+ $deprecated_filters = yit_wc_deprecated_filters();
354
+ foreach ( $deprecated_filters as $old => $new ) {
355
+ add_filter( $old, 'yit_wc_deprecated_filter_mapping', 10, 100 );
356
+ }
357
+ }
358
+ }
359
+
360
+ if ( !function_exists( 'yit_wc_deprecated_filter_mapping' ) ) {
361
+ /**
362
+ *
363
+ */
364
+ function yit_wc_deprecated_filter_mapping() {
365
+ $deprecated_filters = yit_wc_deprecated_filters();
366
+
367
+ $filter = current_filter();
368
+ $args = func_get_args();
369
+ $data = $args[ 0 ];
370
+
371
+
372
+ if ( isset( $deprecated_filters[ $filter ] ) ) {
373
+ if ( has_filter( $deprecated_filters[ $filter ] ) ) {
374
+ $data = apply_filters_ref_array( $deprecated_filters[ $filter ], $args );
375
+ }
376
+ }
377
+
378
+ return $data;
379
+ }
380
+ }
381
+
382
+ if ( !function_exists( 'yit_wc_check_post_columns' ) ) {
383
+ /**
384
+ *
385
+ */
386
+ function yit_wc_check_post_columns( $key ) {
387
+ $columns = array(
388
+ 'post_author',
389
+ 'post_date',
390
+ 'post_date_gmt',
391
+ 'post_content',
392
+ 'post_title',
393
+ 'post_excerpt',
394
+ 'post_status',
395
+ 'comment_status',
396
+ 'ping_status',
397
+ 'post_password',
398
+ 'post_name',
399
+ 'to_ping',
400
+ 'pinged',
401
+ 'post_modified',
402
+ 'post_modified_gmt',
403
+ 'post_content_filtered',
404
+ 'post_parent',
405
+ 'guid',
406
+ 'menu_order',
407
+ 'post_type',
408
+ 'post_mime_type',
409
+ 'comment_count',
410
+ );
411
+
412
+ return in_array( $key, $columns );
413
+ }
414
+ }
415
+
416
+
417
+ /* Shortcuts for common functions */
418
+
419
+ if ( !function_exists( 'yit_get_order_id' ) ) {
420
+ /**
421
+ * Retrieve the order id
422
+ *
423
+ * @param WC_Order $order
424
+ *
425
+ * @return mixed
426
+ */
427
+ function yit_get_order_id( $order ) {
428
+ return yit_get_prop( $order, 'id' );
429
+ }
430
+ }
431
+
432
+ if ( !function_exists( 'yit_get_product_id' ) ) {
433
+ /**
434
+ * Retrieve the product id
435
+ *
436
+ * @param WC_Product $product
437
+ *
438
+ * @return mixed
439
+ */
440
+ function yit_get_product_id( $product ) {
441
+ return yit_get_prop( $product, 'id' );
442
+ }
443
+ }
444
+
445
+ if ( !function_exists( 'yit_get_base_product_id' ) ) {
446
+ /**
447
+ * New way to retrieve the $product->id as it was before WC 2.7.
448
+ *
449
+ * Retrieve the parent product id for WC_Product_Variation instances
450
+ * or the product id in the other cases.
451
+ *
452
+ * @param WC_Product $product
453
+ *
454
+ * @return mixed
455
+ */
456
+ function yit_get_base_product_id( $product ) {
457
+
458
+ return $product instanceof WC_Data && $product->is_type( 'variation' ) ?
459
+ yit_get_prop( $product, 'parent_id' ) :
460
+ yit_get_prop( $product, 'id' );
461
+ }
462
+ }
463
+
464
+ if ( !function_exists( 'yit_get_display_price' ) ) {
465
+ /**
466
+ * @param WC_Product $product
467
+ * @param string $price
468
+ * @param int $qty
469
+ */
470
+ function yit_get_display_price( $product, $price = '', $qty = 1 ) {
471
+
472
+ if ( version_compare( WC()->version, '2.7.0', '>=' ) ) {
473
+
474
+ $price = wc_get_price_to_display( $product, array( 'qty' => $qty, 'price' => $price ) );
475
+ } else {
476
+
477
+ $price = $product->get_display_price( $price, $qty );
478
+ }
479
+
480
+ return $price;
481
+ }
482
+ }
483
+
484
+ if ( !function_exists( 'yit_get_price_excluding_tax' ) ) {
485
+ /**
486
+ * @param WC_Product $product
487
+ * @param int $qty
488
+ * @param string $price
489
+ *
490
+ * @return float|string
491
+ */
492
+ function yit_get_price_excluding_tax( $product, $qty = 1, $price = '' ) {
493
+
494
+ if ( version_compare( WC()->version, '2.7.0', '>=' ) ) {
495
+
496
+ $price = wc_get_price_excluding_tax( $product, array( 'qty' => $qty, 'price' => $price ) );
497
+ } else {
498
+
499
+ $price = $product->get_price_excluding_tax( $qty, $price );
500
+ }
501
+
502
+ return $price;
503
+ }
504
+ }
505
+
506
+ if ( !function_exists( 'yit_get_price_including_tax' ) ) {
507
+ /**
508
+ * @param WC_Product $product
509
+ * @param int $qty
510
+ * @param string $price
511
+ *
512
+ * @return float|string
513
+ */
514
+ function yit_get_price_including_tax( $product, $qty = 1, $price = '' ) {
515
+
516
+ if ( version_compare( WC()->version, '2.7.0', '>=' ) ) {
517
+
518
+ $price = wc_get_price_including_tax( $product, array( 'qty' => $qty, 'price' => $price ) );
519
+ } else {
520
+
521
+ $price = $product->get_price_including_tax( $qty, $price );
522
+ }
523
+
524
+ return $price;
525
+ }
526
+ }
527
+
528
+ if ( !function_exists( 'yit_get_product_image_id' ) ) {
529
+ /**
530
+ * get the attach image id
531
+ *
532
+ * @param WC_Product $product
533
+ * @param string $context ( view/edit )
534
+ */
535
+ function yit_get_product_image_id( $product, $context = 'view' ) {
536
+
537
+ if ( version_compare( WC()->version, '2.7.0', '>=' ) ) {
538
+
539
+ $image_id = $product->get_image_id( $context );
540
+ } else {
541
+
542
+ $image_id = $product->get_image_id();
543
+ }
544
+
545
+ return $image_id;
546
+ }
547
+ }
548
+
549
+ if ( !function_exists( 'yit_get_refund_amount' ) ) {
550
+ /**
551
+ * @param $refund \WC_Order_Refund
552
+ * @param $context string
553
+ *
554
+ * @return float
555
+ */
556
+ function yit_get_refund_amount( $refund, $context = 'view' ) {
557
+ $is_wc_data = $refund instanceof WC_Data;
558
+
559
+ if ( $is_wc_data ) {
560
+ return $refund->get_amount( $context );
561
+ } else {
562
+ return $refund->get_refund_amount();
563
+ }
564
+ }
565
+ }
566
+
567
+ if ( !function_exists( 'yit_add_select2_fields' ) ) {
568
+ /**
569
+ * Add select 2
570
+ *
571
+ * @param array $args
572
+ */
573
+ function yit_add_select2_fields( $args = array() ) {
574
+ $default = array(
575
+ 'type' => 'hidden',
576
+ 'class' => '',
577
+ 'id' => '',
578
+ 'name' => '',
579
+ 'data-placeholder' => '',
580
+ 'data-allow_clear' => false,
581
+ 'data-selected' => '',
582
+ 'data-multiple' => false,
583
+ 'data-action' => '',
584
+ 'value' => '',
585
+ 'style' => '',
586
+ 'custom-attributes' => array()
587
+ );
588
+
589
+ $args = wp_parse_args( $args, $default );
590
+
591
+ $custom_attributes = array();
592
+ foreach ( $args[ 'custom-attributes' ] as $attribute => $attribute_value ) {
593
+ $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
594
+ }
595
+ $custom_attributes = implode( ' ', $custom_attributes );
596
+
597
+ if ( version_compare( WC()->version, '2.7.0', '>=' ) ) :
598
+ if ( $args[ 'data-multiple' ] === true && substr( $args[ 'name' ], -2 ) != '[]' ) {
599
+ $args[ 'name' ] = $args[ 'name' ] . '[]';
600
+ }
601
+ ?>
602
+
603
+ <select
604
+ id="<?php echo $args[ 'id' ] ?>"
605
+ class="<?php echo $args[ 'class' ] ?>"
606
+ name="<?php echo $args[ 'name' ] ?>"
607
+ data-placeholder="<?php echo $args[ 'data-placeholder' ] ?>"
608
+ data-allow_clear="<?php echo $args[ 'data-allow_clear' ] ?>"
609
+ <?php echo !empty( $args[ 'data-action' ] ) ? 'data-action="' . $args[ 'data-action' ] . '"' : ''; ?>
610
+ <?php echo !empty( $args[ 'data-multiple' ] ) ? 'multiple="multiple"' : ''; ?>
611
+ style="<?php echo $args[ 'style' ] ?>"
612
+ <?php echo $custom_attributes ?>
613
+ >
614
+
615
+ <?php if ( !empty( $args[ 'value' ] ) ) {
616
+ $values = $args[ 'value' ];
617
+
618
+ if ( !is_array( $values ) ) {
619
+ $values = explode( ',', $values );
620
+ }
621
+
622
+ foreach ( $values as $value ): ?>
623
+ <option value="<?php echo $value; ?>" <?php selected( true, true, true ) ?> >
624
+ <?php echo $args[ 'data-selected' ][ $value ]; ?>
625
+ </option>
626
+ <?php endforeach;
627
+ }
628
+ ?>
629
+ </select>
630
+ <?php
631
+ else :
632
+ if ( $args[ 'data-multiple' ] === false && is_array( $args[ 'data-selected' ] ) ) {
633
+ $args[ 'data-selected' ] = current($args[ 'data-selected' ]);
634
+ }
635
+
636
+ ?>
637
+ <input
638
+ type="hidden"
639
+ id="<?php echo $args[ 'id' ] ?>"
640
+ class="<?php echo $args[ 'class' ] ?>"
641
+ name="<?php echo $args[ 'name' ] ?>"
642
+ data-placeholder="<?php echo $args[ 'data-placeholder' ] ?>"
643
+ data-allow_clear="<?php echo $args[ 'data-allow_clear' ] ?>"
644
+ data-selected="<?php echo is_array( $args[ 'data-selected' ] ) ? esc_attr( json_encode( $args[ 'data-selected' ] ) ) : esc_attr( $args[ 'data-selected' ] ) ?>"
645
+ data-multiple="<?php echo $args[ 'data-multiple' ] === true ? 'true' : 'false' ?>"
646
+ <?php echo( !empty( $args[ 'data-action' ] ) ? 'data-action="' . $args[ 'data-action' ] . '"' : '' ) ?>
647
+ value="<?php echo $args[ 'value' ] ?>"
648
+ style="<?php echo $args[ 'style' ] ?>"
649
+ <?php echo $custom_attributes ?>
650
+ />
651
+ <?php
652
+ endif;
653
+ }
654
+ }
655
+
656
+ if ( !function_exists( 'yit_product_visibility_meta' ) ) {
657
+ function yit_product_visibility_meta( $args ) {
658
+ if ( version_compare( WC()->version, '2.7.0', '<' ) ) {
659
+ $args[ 'meta_query' ] = isset( $args[ 'meta_query' ] ) ? $args[ 'meta_query' ] : array();
660
+ $args[ 'meta_query' ][] = WC()->query->visibility_meta_query();
661
+ } else {
662
+ $product_visibility_term_ids = wc_get_product_visibility_term_ids();
663
+ $args[ 'tax_query' ] = isset( $args[ 'tax_query' ] ) ? $args[ 'tax_query' ] : array();
664
+ $args[ 'tax_query' ][] = array(
665
+ 'taxonomy' => 'product_visibility',
666
+ 'field' => 'term_taxonomy_id',
667
+ 'terms' => is_search() ? $product_visibility_term_ids[ 'exclude-from-search' ] : $product_visibility_term_ids[ 'exclude-from-catalog' ],
668
+ 'operator' => 'NOT IN',
669
+ );
670
+ }
671
+
672
+ return $args;
673
+ }
674
+ }
675
+
676
+ if ( !function_exists( 'yit_datetime_to_timestamp' ) ) {
677
+
678
+ /**
679
+ *
680
+ */
681
+ function yit_datetime_to_timestamp( $date ) {
682
+
683
+ if ( version_compare( WC()->version, '2.7.0', '<' ) ) {
684
+ $date = strtotime( $date );
685
+ }
686
+
687
+ return $date;
688
+ }
689
+
690
+ }
691
+
692
+
693
+ yit_fix_wc_deprecated_filters();
694
+ add_action( 'shutdown', 'yit_send_changes_to_db' );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
4
  Tags: woocommerce catalog mode plugin, woocommerce catalog only, woocommerce, products, themes, yit, yith, yithemes, e-commerce, shop, catalog mode, catalogue mode, remove add to cart, ask for price, ask price, asking for price, asking price, button remove, call, call for price, call me, call us, contact, email, hide add to cart, hide price
5
  Requires at least: 4.0
6
  Tested up to: 4.7
7
- Stable tag: 1.4.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -113,120 +113,124 @@ yith-woocommerce-catalog-mode-<WORDPRESS LOCALE >.mo
113
 
114
  == Changelog ==
115
 
 
 
 
 
116
  = Version 1.4.0 - Released: May 31, 2016 =
117
 
118
- * Tested with WooCommerce 2.6.0 beta 3
119
 
120
  = Version 1.3.7 - Released: May 13, 2016 =
121
 
122
- * Added: filter "ywctm_cart_widget_classes" to hide the cart widget
123
- * Deleted: yith-catalog-mode.css and yith-catalog-mode.min.css files
124
 
125
  = Version 1.3.5 - Released: Apr 13, 2016 =
126
 
127
- * Added: compatibility with Wordpress 4.5
128
 
129
  = Version 1.3.3 - Released: Apr 08, 2016 =
130
 
131
- * Added: minified versions of CSS files
132
 
133
  = Version 1.3.2 - Released: Mar 09, 2016 =
134
 
135
- * Updated: plugin core framework
136
 
137
  = Version 1.3.1 - Released: Mar 04, 2016 =
138
 
139
- * Fixed: items excluded not added to cart
140
 
141
  = Version 1.3.0 - Released: Mar 01, 2016 =
142
 
143
- * Updated: language file
144
 
145
  = Version 1.2.4 - Released: Feb 19, 2016 =
146
 
147
- * Updated: plugin core framework
148
 
149
  = Version 1.2.3 - Released: Jan 22, 2016 =
150
 
151
- * Added: compatibility with WooCommerce 2.5
152
 
153
  = Version 1.2.2 - Released: Dec 16, 2015 =
154
 
155
- * Added: compatibility with YITH WooCommerce Wishlist
156
 
157
  = Version 1.2.1 - Released: Dec 15, 2015 =
158
 
159
- * Updated: plugin core framework
160
 
161
  = Version 1.2.0 - Released: Oct 29, 2015 =
162
 
163
- * Added: Dutch translation (by Bart Verkerk)
164
- * Fixed: options panel more user friendly
165
 
166
  = Version 1.1.5 - Released: Oct 29, 2015 =
167
 
168
- * Updated: plugin core framework
169
 
170
  = Version 1.1.4 - Released: Oct 07, 2015 =
171
 
172
- * Updated: changed text domain from ywctm to yith-woocommerce-catalog-mode
173
- * Updated: changed all language file for the new text domain
174
 
175
  = Version 1.1.3 - Released: Sept 25, 2015 =
176
 
177
- * Various code improvements
178
- * Updated language file
179
 
180
  = Version 1.1.2 - Released: Aug 25, 2015 =
181
 
182
- * Added: compatibility with YITH Essential Kit for WooCommerce #1
183
 
184
  = Version 1.1.1 - Released: Aug 13, 2015 =
185
 
186
- * Fixed: Minor bugs
187
 
188
  = Version 1.1.0 - Released: Aug 13, 2015 =
189
 
190
- * Added: Support to WooCommerce 2.4
191
- * Updated: Plugin core framework
192
 
193
  = Version 1.0.9 - Released: July 20, 2015 =
194
 
195
- * Fixed: YITH WooCommerce Colors and Labels Variations compatibility
196
 
197
  = Version 1.0.8 - Released: July 09, 2015 =
198
 
199
- * Updated language file
200
- * Fixed: YITH WooCommerce Quick View compatibility
201
 
202
  = Version 1.0.7 - Released: Jun 12, 2015 =
203
 
204
- * Fixed: Added functions for themes and plugins compatibility
205
 
206
  = Version 1.0.6 - Released: May 22, 2015 =
207
 
208
- * Fixed: Added functions for themes compatibility
209
 
210
  = Version 1.0.5 - Released: May 06, 2015 =
211
 
212
- * Fixed: Product variations bug
213
- * Fixed: Custom button bug
214
 
215
  = Version 1.0.4 - Released: May 05, 2015 =
216
 
217
- * Fixed: Minor bugs
218
 
219
  = Version 1.0.3 - Released: Apr 10, 2015 =
220
 
221
- * Fixed: Improved code performance
222
 
223
  = Version 1.0.2 - Released: Mar 11, 2015 =
224
 
225
- * Fixed: Added functions for themes compatibility
226
 
227
  = Version 1.0.1 - Released: Mar 02, 2015 =
228
 
229
- * Fixed: Minor bugs
230
 
231
  = Version 1.0.0 - Released: Feb 19, 2015 =
232
 
4
  Tags: woocommerce catalog mode plugin, woocommerce catalog only, woocommerce, products, themes, yit, yith, yithemes, e-commerce, shop, catalog mode, catalogue mode, remove add to cart, ask for price, ask price, asking for price, asking price, button remove, call, call for price, call me, call us, contact, email, hide add to cart, hide price
5
  Requires at least: 4.0
6
  Tested up to: 4.7
7
+ Stable tag: 1.5.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
113
 
114
  == Changelog ==
115
 
116
+ = Version 1.5.5 - Released: Mar 23, 2017 =
117
+
118
+ * Tweak: Support for WooCommerce 3.0.0-RC 1
119
+
120
  = Version 1.4.0 - Released: May 31, 2016 =
121
 
122
+ * Tweak: Tested with WooCommerce 2.6.0 beta 3
123
 
124
  = Version 1.3.7 - Released: May 13, 2016 =
125
 
126
+ * New: filter "ywctm_cart_widget_classes" to hide the cart widget
127
+ * Remove: yith-catalog-mode.css and yith-catalog-mode.min.css files
128
 
129
  = Version 1.3.5 - Released: Apr 13, 2016 =
130
 
131
+ * New: compatibility with Wordpress 4.5
132
 
133
  = Version 1.3.3 - Released: Apr 08, 2016 =
134
 
135
+ * New: minified versions of CSS files
136
 
137
  = Version 1.3.2 - Released: Mar 09, 2016 =
138
 
139
+ * Update: plugin core framework
140
 
141
  = Version 1.3.1 - Released: Mar 04, 2016 =
142
 
143
+ * Fix: items excluded not added to cart
144
 
145
  = Version 1.3.0 - Released: Mar 01, 2016 =
146
 
147
+ * Update: language file
148
 
149
  = Version 1.2.4 - Released: Feb 19, 2016 =
150
 
151
+ * Update: plugin core framework
152
 
153
  = Version 1.2.3 - Released: Jan 22, 2016 =
154
 
155
+ * New: compatibility with WooCommerce 2.5
156
 
157
  = Version 1.2.2 - Released: Dec 16, 2015 =
158
 
159
+ * New: compatibility with YITH WooCommerce Wishlist
160
 
161
  = Version 1.2.1 - Released: Dec 15, 2015 =
162
 
163
+ * Update: plugin core framework
164
 
165
  = Version 1.2.0 - Released: Oct 29, 2015 =
166
 
167
+ * New: Dutch translation (by Bart Verkerk)
168
+ * Fix: options panel more user friendly
169
 
170
  = Version 1.1.5 - Released: Oct 29, 2015 =
171
 
172
+ * Update: plugin core framework
173
 
174
  = Version 1.1.4 - Released: Oct 07, 2015 =
175
 
176
+ * Update: changed text domain from ywctm to yith-woocommerce-catalog-mode
177
+ * Update: changed all language file for the new text domain
178
 
179
  = Version 1.1.3 - Released: Sept 25, 2015 =
180
 
181
+ * Tweak: Various code improvements
182
+ * Update: language file
183
 
184
  = Version 1.1.2 - Released: Aug 25, 2015 =
185
 
186
+ * New: compatibility with YITH Essential Kit for WooCommerce #1
187
 
188
  = Version 1.1.1 - Released: Aug 13, 2015 =
189
 
190
+ * Fix: Minor bugs
191
 
192
  = Version 1.1.0 - Released: Aug 13, 2015 =
193
 
194
+ * New: Support to WooCommerce 2.4
195
+ * Update: Plugin core framework
196
 
197
  = Version 1.0.9 - Released: July 20, 2015 =
198
 
199
+ * Fix: YITH WooCommerce Colors and Labels Variations compatibility
200
 
201
  = Version 1.0.8 - Released: July 09, 2015 =
202
 
203
+ * Update language file
204
+ * Fix: YITH WooCommerce Quick View compatibility
205
 
206
  = Version 1.0.7 - Released: Jun 12, 2015 =
207
 
208
+ * Fix: Added functions for themes and plugins compatibility
209
 
210
  = Version 1.0.6 - Released: May 22, 2015 =
211
 
212
+ * Fix: Added functions for themes compatibility
213
 
214
  = Version 1.0.5 - Released: May 06, 2015 =
215
 
216
+ * Fix: Product variations bug
217
+ * Fix: Custom button bug
218
 
219
  = Version 1.0.4 - Released: May 05, 2015 =
220
 
221
+ * Fix: Minor bugs
222
 
223
  = Version 1.0.3 - Released: Apr 10, 2015 =
224
 
225
+ * Fix: Improved code performance
226
 
227
  = Version 1.0.2 - Released: Mar 11, 2015 =
228
 
229
+ * Fix: Added functions for themes compatibility
230
 
231
  = Version 1.0.1 - Released: Mar 02, 2015 =
232
 
233
+ * Fix: Minor bugs
234
 
235
  = Version 1.0.0 - Released: Feb 19, 2015 =
236