WooCommerce Wishlist Plugin - Version 1.3.2

Version Description

Release Date - 27 April 2017

  • Fixed extra redirect to Setup Wizard
  • Improved theme compatibility tests performance
Download this release

Release Info

Developer templateinvaders
Plugin Icon 128x128 WooCommerce Wishlist Plugin
Version 1.3.2
Comparing to
See all releases

Code changes from version 1.3.1 to 1.3.2

admin/tinvwl.class.php CHANGED
@@ -175,7 +175,7 @@ class TInvWL_Admin_TInvWL extends TInvWL_Admin_Base {
175
  * Add plugin footer copywriting
176
  */
177
  function footer_admin() {
178
- echo 'Made with <i class="fa fa-heart"></i> by <a href="https://templateinvaders.com/?utm_source=wishlist_plugin_free&utm_campaign=made_by&utm_medium=footer">TemplateInvaders</a><br />If you like WooCommerce Wishlist Plugin please leave us a <a href="https://wordpress.org/support/plugin/ti-woocommerce-wishlist/reviews/#new-post"><span><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i></span></a> rating.';
179
  }
180
 
181
  /**
@@ -219,7 +219,7 @@ class TInvWL_Admin_TInvWL extends TInvWL_Admin_Base {
219
  if ( $outdated ) {
220
  return 'outdated';
221
  }
222
- $found_files[] = sprintf( __( '<code>%s</code> version <strong style="color:red">%s</strong> is out of date. The core version is %s', 'ti-woocommerce-wishlist' ), str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file ), $theme_version ? $theme_version : '-', $core_version );
223
  } else {
224
  $found_files[] = str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file );
225
  }
@@ -242,11 +242,11 @@ class TInvWL_Admin_TInvWL extends TInvWL_Admin_Base {
242
  */
243
  function admin_notice_outdated_templates() {
244
  if ( 'outdated' === $this->templates_status_check( true ) ) {
245
-
246
  $theme = wp_get_theme();
247
 
248
  $html = sprintf( __( '<strong>Your theme (%1$s) contains outdated copies of some WooCommerce Wishlist Plugin template files.</strong><br> These files may need updating to ensure they are compatible with the current version of WooCommerce Wishlist Plugin.<br> You can see which files are affected from the <a href="%2$s">system status page</a>.<br> If in doubt, check with the author of the theme.', 'ti-woocommerce-wishlist' ), esc_html( $theme[ 'Name' ] ), esc_url( admin_url( 'admin.php?page=wc-status' ) ) );
249
-
250
  WC_Admin_Notices::add_custom_notice( 'outdated_templates', $html );
251
  } else {
252
  WC_Admin_Notices::remove_notice( 'outdated_templates' );
@@ -297,6 +297,8 @@ class TInvWL_Admin_TInvWL extends TInvWL_Admin_Base {
297
  * Validation templates hook from request remote page
298
  */
299
  function validation_template() {
 
 
300
  if ( tinv_get_option( 'template_checker', 'checked' ) ) {
301
  return;
302
  }
@@ -342,7 +344,10 @@ class TInvWL_Admin_TInvWL extends TInvWL_Admin_Base {
342
  }
343
  if ( ! empty( $products ) ) {
344
  $product = array_shift( $products );
345
- $result = $tch->run( array( 'url' => $product->get_permalink() ) );
 
 
 
346
  if ( ! empty( $result ) ) {
347
  $_result = $result = array_keys( $result );
348
  foreach ( $result as $key => $tag ) {
175
  * Add plugin footer copywriting
176
  */
177
  function footer_admin() {
178
+ echo 'Made with <i class="fa fa-heart"></i> by <a href="https://templateinvaders.com/?utm_source='.TINVWL_UTM_SOURCE.'&utm_campaign='.TINVWL_UTM_CAMPAIGN.'&utm_medium='.TINVWL_UTM_MEDIUM.'&utm_content=made_by&partner=' . TINVWL_UTM_SOURCE.'">TemplateInvaders</a><br />If you like WooCommerce Wishlist Plugin please leave us a <a href="https://wordpress.org/support/plugin/ti-woocommerce-wishlist/reviews/#new-post"><span><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i></span></a> rating.';
179
  }
180
 
181
  /**
219
  if ( $outdated ) {
220
  return 'outdated';
221
  }
222
+ $found_files[] = sprintf( __( '<code>%s</code> version <strong style="color:red">%s</strong> is out of date. The core version is <strong style="color:red">%s</strong>', 'ti-woocommerce-wishlist' ), str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file ), $theme_version ? $theme_version : '-', $core_version );
223
  } else {
224
  $found_files[] = str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file );
225
  }
242
  */
243
  function admin_notice_outdated_templates() {
244
  if ( 'outdated' === $this->templates_status_check( true ) ) {
245
+
246
  $theme = wp_get_theme();
247
 
248
  $html = sprintf( __( '<strong>Your theme (%1$s) contains outdated copies of some WooCommerce Wishlist Plugin template files.</strong><br> These files may need updating to ensure they are compatible with the current version of WooCommerce Wishlist Plugin.<br> You can see which files are affected from the <a href="%2$s">system status page</a>.<br> If in doubt, check with the author of the theme.', 'ti-woocommerce-wishlist' ), esc_html( $theme[ 'Name' ] ), esc_url( admin_url( 'admin.php?page=wc-status' ) ) );
249
+
250
  WC_Admin_Notices::add_custom_notice( 'outdated_templates', $html );
251
  } else {
252
  WC_Admin_Notices::remove_notice( 'outdated_templates' );
297
  * Validation templates hook from request remote page
298
  */
299
  function validation_template() {
300
+ global $product;
301
+
302
  if ( tinv_get_option( 'template_checker', 'checked' ) ) {
303
  return;
304
  }
344
  }
345
  if ( ! empty( $products ) ) {
346
  $product = array_shift( $products );
347
+ $result = $tch->run( array(
348
+ 'template' => array( 'content-single-product.php', 'single-product/add-to-cart/' . $type . '.php' ),
349
+ 'url' => $product->get_permalink(),
350
+ ) );
351
  if ( ! empty( $result ) ) {
352
  $_result = $result = array_keys( $result );
353
  foreach ( $result as $key => $tag ) {
asset/css/public.css CHANGED
@@ -3,7 +3,7 @@ To change this license header, choose License Headers in Project Properties.
3
  To change this template file, choose Tools | Templates
4
  and open the template in the editor.
5
  */
6
- /*
7
  Created on : 21.01.2016, 13:29:15
8
  Author : kurtis.core
9
  */
@@ -359,6 +359,7 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
359
 
360
  .tinv-wishlist table.tinvwl-table-manage-list {
361
  margin-bottom: 27px;
 
362
  }
363
 
364
  .tinv-wishlist table input[type="checkbox"] {
@@ -366,7 +367,7 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
366
  }
367
 
368
  .tinv-wishlist table th {
369
- /*padding: 22px 12px;*/
370
  vertical-align: middle;
371
  }
372
 
@@ -379,7 +380,7 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
379
  }*/
380
 
381
  .tinv-wishlist table td {
382
- /*padding: 27px 12px;*/
383
  vertical-align: middle;
384
  }
385
 
@@ -1821,7 +1822,7 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
1821
 
1822
  .tinv-wishlist-clear:before,
1823
  .tinv-wishlist-clear:after {
1824
- content: "";
1825
  display: table;
1826
  }
1827
 
@@ -1886,7 +1887,7 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
1886
  .tinv-wishlist .social-buttons li a{
1887
  background-size: 195px 18px;
1888
  }
1889
- .tinv-wishlist .tinv-login input[name="username"] + .tinvwl-icon {
1890
  background-size: 11px 17px;
1891
  }
1892
  .tinv-wishlist .tinv-login input[name="password"] + .tinvwl-icon {
@@ -1900,13 +1901,13 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
1900
  .woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before {
1901
  background-size: 30px 50px;
1902
  }
1903
- .tinv-wishlist .product-remove button {
1904
  background-size: 11px 11px;
1905
  }
1906
  .tinv-wishlist .tinvwl-table-manage-list .product-action button[name="tinvwl-remove"] {
1907
  background-size: 11px 11px;
1908
  }
1909
-
1910
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5), not all, not all, not all {
1911
  .tinv-wishlist .social-buttons li a{
1912
  background-image: url(../img/social@2x.png);
@@ -1917,8 +1918,8 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
1917
  .tinv-wishlist .social-buttons li a.dark{
1918
  background-image: url(../img/social@2x.png);
1919
  }
1920
-
1921
- .tinv-wishlist .tinv-login input[name="username"] + .tinvwl-icon {
1922
  background-image: url(../img/login_name@2x.png);
1923
  }
1924
  .tinv-wishlist .tinv-login input[name="password"] + .tinvwl-icon {
@@ -1930,9 +1931,9 @@ ul.products li.product .tinvwl_add_to_wishlist_button {
1930
  .woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,
1931
  .woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,
1932
  .woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before {
1933
- background-image: url(../img/add_to_wishlist@2x.png);
1934
  }
1935
- .tinv-wishlist .product-remove button {
1936
  background-image: url(../img/icon_delete@2x.png);
1937
  }
1938
  .tinv-wishlist .tinvwl-table-manage-list .product-action button[name="tinvwl-remove"] {
3
  To change this template file, choose Tools | Templates
4
  and open the template in the editor.
5
  */
6
+ /*
7
  Created on : 21.01.2016, 13:29:15
8
  Author : kurtis.core
9
  */
359
 
360
  .tinv-wishlist table.tinvwl-table-manage-list {
361
  margin-bottom: 27px;
362
+ width: 100%;
363
  }
364
 
365
  .tinv-wishlist table input[type="checkbox"] {
367
  }
368
 
369
  .tinv-wishlist table th {
370
+ padding: 1em;
371
  vertical-align: middle;
372
  }
373
 
380
  }*/
381
 
382
  .tinv-wishlist table td {
383
+ padding: 1em;
384
  vertical-align: middle;
385
  }
386
 
1822
 
1823
  .tinv-wishlist-clear:before,
1824
  .tinv-wishlist-clear:after {
1825
+ content: " ";
1826
  display: table;
1827
  }
1828
 
1887
  .tinv-wishlist .social-buttons li a{
1888
  background-size: 195px 18px;
1889
  }
1890
+ .tinv-wishlist .tinv-login input[name="username"] + .tinvwl-icon {
1891
  background-size: 11px 17px;
1892
  }
1893
  .tinv-wishlist .tinv-login input[name="password"] + .tinvwl-icon {
1901
  .woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before {
1902
  background-size: 30px 50px;
1903
  }
1904
+ .tinv-wishlist .product-remove button {
1905
  background-size: 11px 11px;
1906
  }
1907
  .tinv-wishlist .tinvwl-table-manage-list .product-action button[name="tinvwl-remove"] {
1908
  background-size: 11px 11px;
1909
  }
1910
+
1911
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5), not all, not all, not all {
1912
  .tinv-wishlist .social-buttons li a{
1913
  background-image: url(../img/social@2x.png);
1918
  .tinv-wishlist .social-buttons li a.dark{
1919
  background-image: url(../img/social@2x.png);
1920
  }
1921
+
1922
+ .tinv-wishlist .tinv-login input[name="username"] + .tinvwl-icon {
1923
  background-image: url(../img/login_name@2x.png);
1924
  }
1925
  .tinv-wishlist .tinv-login input[name="password"] + .tinvwl-icon {
1931
  .woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,
1932
  .woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,
1933
  .woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before {
1934
+ background-image: url(../img/add_to_wishlist@2x.png);
1935
  }
1936
+ .tinv-wishlist .product-remove button {
1937
  background-image: url(../img/icon_delete@2x.png);
1938
  }
1939
  .tinv-wishlist .tinvwl-table-manage-list .product-action button[name="tinvwl-remove"] {
asset/css/public.min.css CHANGED
@@ -1 +1 @@
1
- .tinv-wishlist form,.tinv-wishlist p:last-child,.tinv-wishlist table{margin-bottom:0}.tinv-wishlist *,.tinvwl-wishlist :after,.tinvwl-wishlist :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tinv-wishlist select{width:140px}.tinv-wishlist ul{list-style:none;margin:0;padding:0}.woocommerce.tinv-wishlist #respond input#submit.alt,.woocommerce.tinv-wishlist a.button.alt,.woocommerce.tinv-wishlist button.button.alt,.woocommerce.tinv-wishlist input.button.alt{text-align:center}.tinv-wishlist .button i,.tinv-wishlist .navigation-button a i,.tinv-wishlist button i,.tinv-wishlist input[type=button] i,.tinv-wishlist input[type=reset] i,.tinv-wishlist input[type=submit] i{margin-right:14px}.tinv-wishlist a.tinvwl-my-wishlists i{margin-right:17px}.tinv-wishlist .tinvwl-estimate-wrap a i{margin-right:18px}.tinv-wishlist a.tinv-close-modal i{margin-right:0}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before{content:'';display:inline-block;margin-right:10px;background-image:url(../img/add_to_wishlist.png);background-repeat:repeat}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt{position:relative;width:36px;height:36px;vertical-align:bottom}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before{position:absolute;top:50%;left:50%;margin-right:0!important}.tinv-wishlist .button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt,.tinv-wishlist .button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt{padding-left:1em;vertical-align:bottom}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.icon-black:before{background-position:0 0;width:13px;height:11px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before{margin-top:-5px;margin-left:-6px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list.icon-white:before{background-position:0 13px;width:13px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list.icon-black:before{background-position:0 -12px;width:13px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list.no-txt:before{margin-top:-6px;margin-left:-6px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.icon-black:before{background-position:15px 0;width:14px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.icon-white:before{background-position:15px 25px;width:14px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before{margin-top:-5px;margin-left:-7px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.icon-white:before{background-position:0 -25px;width:13px;height:11px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list.icon-black:before{background-position:15px -11px;width:15px;height:14px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list.icon-white:before{background-position:15px 14px;width:15px;height:14px}.tinv-wishlist .product-remove button,.tinv-wishlist .social-buttons li a{text-indent:-9999px;box-shadow:none;background-position:center;background-repeat:no-repeat}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list.no-txt:before{margin-top:-7px;margin-left:-7px}.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button{margin-bottom:15px}.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button.no-txt{float:left;margin-right:10px;margin-bottom:0}.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button{margin-top:15px}.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button.no-txt{margin-left:10px}.single-product .tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button.no-txt{margin-top:0}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt{padding:10px 11px;line-height:1}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom img{display:inline-block!important;vertical-align:baseline;width:auto!important;max-width:16px;max-height:16px;margin:0 6px 0 0!important}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt img{margin-right:0!important}.single-product div.product form.cart .button.tinvwl_add_to_wishlist_button,div.product form.cart .tinvwl_add_to_wishlist_button{float:none}ul.products li.product .tinvwl_add_to_wishlist_button{margin-top:1em}.tinvwl_add_to_wishlist_button{display:inline-block}.tinv-wishlist.woocommerce .stock.in-stock:before{content:none}.tinv-wraper.tinv-wishlist{font-size:100%}.tinv-create-list li input[type=radio]{margin-right:10px}.tinv-create-list li+li{margin-top:15px}.tinv-create-list .input-group+ul{margin-top:25px}.tinv-search-list{margin-bottom:36px}.tinv-wishlist .tinv-header{margin-bottom:30px}.tinv-wishlist table{position:relative;table-layout:auto;margin-bottom:30px;z-index:2}.tinv-wishlist table.tinvwl-table-manage-list{margin-bottom:27px}.tinv-wishlist table input[type=checkbox]{margin-right:0}.tinv-wishlist table td,.tinv-wishlist table th{vertical-align:middle}.tinv-wishlist .tinvwl-table-manage-list .product-cb{width:35px;text-align:center}.tinv-wishlist .tinvwl-table-manage-list .product-remove{width:46px;text-align:center}.tinv-wishlist .product-remove button{display:block;margin:0 auto;width:27px;height:27px;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;padding:0;border:none;background-image:url(../img/icon_delete.png);background-color:#f7f7f7}.tinv-wishlist .product-thumbnail{min-width:100px;width:100px}.tinv-wishlist .product-thumbnail .wp-post-image{margin-bottom:0}.tinv-wishlist td.product-name a+.variation{margin-top:2px}.tinv-wishlist .product-stock i{margin-right:15px}.tinv-wishlist .product-stock p{display:table}.tinv-wishlist .product-stock span{display:table-cell;vertical-align:middle}.tinv-wishlist .product-action>.button>i,.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove],.tinv-wishlist table thead th .tinvwl-mobile{display:none}.tinv-wishlist.woocommerce .product-quantity{width:80px;text-align:center}.tinv-wishlist.woocommerce table .quantity .qty{max-width:100%;width:62px;text-align:left}.tinv-wishlist .product-action{width:135px;text-align:center}.tinv-wishlist .product-action .button{width:100%}.tinv-wishlist .product-action .tinvwl_move_product_button{margin-top:5px}.tinv-wishlist .tinvwl-table-manage-list .product-action>button[name=tinvwl-remove]>i{margin-right:0}@media only screen and (max-width:1024px){.tinv-wishlist .tinvwl-table-manage-lists:not(.tinvwl-public){margin-top:0}.tinv-wishlist .tinvwl-table-manage-list .product-remove{display:none}.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{display:inline-block;margin-top:5px}.tinv-wishlist .product-action{width:60px}}@media only screen and (max-width:1024px) and (min-width:641px){.tinv-wishlist .tinvwl-table-manage-list td.product-stock p{display:block;text-align:center}.tinv-wishlist .product-stock span{display:block}.tinv-wishlist .tinvwl-table-manage-list td.product-stock i{margin-right:0}.tinv-wishlist .tinvwl-table-manage-list td.product-stock .tinvwl-txt{display:none}.tinv-wishlist .product-thumbnail{max-width:76px;width:76px}.tinv-wishlist .product-action .button>i{display:inline-block;margin-right:0}.tinv-wishlist .product-action .button .tinvwl-txt{display:none}}@media only screen and (max-width:640px){.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove,.tinv-wishlist table.tinvwl-table-manage-list thead th:not(.product-name),.tinv-wishlist table.tinvwl-table-manage-lists thead th:not(.wishlist-name),.tinv-wishlist thead th .tinvwl-full{display:none}.tinv-wishlist table.tinvwl-table-manage-list thead th.product-name,.tinv-wishlist table.tinvwl-table-manage-lists thead th.wishlist-name{display:block;width:100%;text-align:center}.tinv-wishlist table thead th .tinvwl-mobile{display:block}.tinv-wishlist table.tinvwl-table-manage-list tbody td,.tinv-wishlist table.tinvwl-table-manage-lists tbody td,.tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td{display:block;width:100%!important;text-align:center}.tinv-wishlist table.tinvwl-table-manage-list tbody td:not(:last-child),.tinv-wishlist table.tinvwl-table-manage-lists tbody td:not(:last-child),.tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td:not(:last-child){border-bottom:0}.tinv-wishlist .product-stock p,.tinv-wishlist .product-thumbnail img{margin:0 auto}.tinv-wishlist .product-thumbnail img{max-width:80px}.tinv-wishlist.woocommerce table .quantity .qty{text-align:center;width:100%}.tinv-wishlist .product-action .tinvwl_move_product_button{margin-top:10px}.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{margin-top:10px;text-indent:-9999px;background-image:url(../img/icon_delete.png);background-position:center;background-repeat:no-repeat}.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]>i{display:inline-block}.tinv-wishlist table.tinvwl-table-manage-list tfoot td{display:block;width:100%}.tinv-wishlist table.tinvwl-table-manage-lists .wishlist-action button[value=manage_remove]{width:100%}.tinv-wishlist table.tinvwl-table-manage-lists .wishlist-name .tinvwl-rename-button{float:none}}.tinv-wishlist .wishlist-cb{width:33px;text-align:center}.tinv-wishlist .wishlist-name .tinvwl-rename-input input{width:100%}.tinv-wishlist .wishlist-name .tinvwl-rename-button{float:right}.tinv-wishlist .wishlist-name .tinvwl-rename-button>i{margin-right:10px}.tinv-wishlist .wishlist-privacy,.tinv-wishlist table:not(.tinvwl-public) .wishlist-date{width:18%}.tinv-wishlist .wishlist-privacy select{width:100%}.tinv-wishlist .wishlist-name{width:45%}.tinv-wishlist .wishlist-action{width:120px;text-align:center}.tinv-wishlist .wishlist-action button[value=manage_remove]>i{display:none;margin-right:0}.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list{display:inline-block;vertical-align:middle}.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list>a.button{margin-right:0}.tinv-wishlist tfoot .tinvwl-to-left+.tinvwl-to-right{margin-top:-10px}.tinv-wishlist tfoot .tinvwl-to-left:not(:empty){float:left;width:35%;margin-right:2%}.tinv-wishlist tfoot .tinvwl-to-right{float:left;width:63%;text-align:right}.tinv-wishlist tfoot .tinvwl-to-right>*{margin:10px 0 0;vertical-align:middle}.tinv-wishlist tfoot .tinvwl-to-right>*+*{margin-left:10px}.tinv-wishlist tfoot .tinvwl-to-left:empty+.tinvwl-to-right{width:100%}@media only screen and (max-width:1024px){.tinv-wishlist .wishlist-name .tinvwl-rename-button>i,.tinv-wishlist tfoot .tinvwl-to-left:not(:empty){margin-right:0}.tinv-wishlist .wishlist-name .tinvwl-rename-button span{display:none}.tinv-wishlist .wishlist-action{width:60px}.tinv-wishlist tfoot .tinvwl-to-left:not(:empty),.tinv-wishlist tfoot .tinvwl-to-right{float:none;width:auto}.tinv-wishlist tfoot .tinvwl-to-right{text-align:left}}@media only screen and (max-width:1024px) and (min-width:641px){.tinv-wishlist .wishlist-action button[value=manage_remove] span{display:none}.tinv-wishlist .wishlist-action button[value=manage_remove]>i{display:inline-block}.tinv-wishlist tfoot .tinvwl-to-left+.tinvwl-to-right{margin-top:0}}@media only screen and (max-width:640px){.tinv-wishlist button[value=product_apply] .tinvwl-mobile,.tinv-wishlist button[value=manage_apply] .tinvwl-mobile{display:none}.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list{display:block}.tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right .button,.tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right button,.tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right .button,.tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right button{width:100%;margin:10px 0 0}.tinv-wishlist tfoot .tinvwl-to-right>*{margin:10px 0 0}.tinv-wishlist tfoot .tinvwl-to-right .button:first-child,.tinv-wishlist tfoot .tinvwl-to-right button:first-child{margin-top:0!important}.tinv-wishlist tfoot .tinvwl-to-left+.tinvwl-to-right{margin-top:20px}}.tinv-wishlist .social-buttons+.tinv-wishlist-clear+.navigation-button,.tinv-wishlist .tinvwl-estimate-wrap+.tinv-wishlist-clear+.navigation-button{margin-top:16px}.tinv-wishlist .navigation-button>li{float:left}.tinv-wishlist .navigation-button{margin-top:-10px}.tinv-wishlist .navigation-button>li>.tinv-create-list>a,.tinv-wishlist .navigation-button>li>a{margin-right:30px;margin-top:10px;display:inline-block}.tinv-wishlist .navigation-button>li>.tinv-create-list>a.button,.tinv-wishlist .navigation-button>li>a.button{margin-right:10px}.tinv-wishlist .navigation-button>li:last-child>.tinv-create-list>a,.tinv-wishlist .navigation-button>li:last-child>a{margin-right:0}.tinv-wishlist .social-buttons{float:right}.tinv-wishlist .social-buttons>span,.tinv-wishlist .social-buttons>ul{display:inline-block;vertical-align:middle}.tinv-wishlist .social-buttons>span{margin-right:27px}.tinv-wishlist .social-buttons li{float:left;margin-right:5px}.tinv-wishlist .social-buttons li:last-child{margin-right:0}.tinv-wishlist .social-buttons li a{display:block;width:41px;height:41px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;text-align:center;border-bottom:0;background-image:url(../img/social.png)}.tinv-wishlist .social-buttons li a.white{background-image:url(../img/social_white.png)}.tinv-wishlist .social-buttons li a.dark{background-image:url(../img/social.png)}.tinv-wishlist .social-buttons li .social-facebook{background-position:16px center}.tinv-wishlist .social-buttons li .social-twitter{background-position:-28px center}.tinv-wishlist .social-buttons li .social-pinterest{background-position:-73px center}.tinv-wishlist .social-buttons li .social-google{background-position:-119px center}.tinv-wishlist .social-buttons li .social-email{background-position:-164px center}@media only screen and (max-width:1024px){.tinv-wishlist .social-buttons+.tinv-wishlist-clear+.navigation-button{margin-top:30px}.tinv-wishlist .social-buttons{float:none;width:auto;text-align:left;margin-top:20px}.tinv-wishlist .tinv-login form input[name=login]{min-width:auto}}.tinv-wishlist .navigation-button .tinv-create-list>a.tinvwl-no-icon>i,.tinv-wishlist .navigation-button li>a.tinvwl-no-icon>i{display:none}@media only screen and (max-width:640px){.tinv-wishlist .social-buttons{text-align:center}.tinv-wishlist .navigation-button>li{width:20%;text-align:center}.tinv-wishlist .navigation-button.tinvwl-btns-count-1>li{width:100%}.tinv-wishlist .navigation-button.tinvwl-btns-count-2>li{width:50%}.tinv-wishlist .navigation-button.tinvwl-btns-count-3>li{width:33%}.tinv-wishlist .navigation-button.tinvwl-btns-count-4>li{width:25%}.tinv-wishlist .navigation-button>li+li{width:20%}.tinv-wishlist .navigation-button.tinvwl-btns-count-1>li+li{width:100%}.tinv-wishlist .navigation-button.tinvwl-btns-count-2>li+li{width:50%}.tinv-wishlist .navigation-button.tinvwl-btns-count-3>li+li{width:33%}.tinv-wishlist .navigation-button.tinvwl-btns-count-4>li+li{width:25%}.tinv-wishlist .navigation-button>li>.tinv-create-list>a,.tinv-wishlist .navigation-button>li>a{width:calc(100% - 10px);margin-right:0}.tinv-wishlist .navigation-button .tinv-create-list>a .tinvwl-txt,.tinv-wishlist .navigation-button li>a .tinvwl-txt{display:none}.tinv-wishlist .navigation-button .tinv-create-list>a>i,.tinv-wishlist .navigation-button li>a>i{display:inline-block!important;margin-right:0}.tinv-wishlist .social-buttons>span{display:block;margin-top:0;margin-right:0;margin-bottom:5px}}.tinv-wishlist .tinv-lists-nav{margin-bottom:35px}.tinv-wishlist table+.tinv-lists-nav{margin-top:35px}.tinv-wishlist .tinv-next,.tinv-wishlist .tinv-prev{display:inline-block}.tinv-wishlist .tinv-prev{float:left}.tinv-wishlist .tinv-next{float:right}.tinv-wishlist .tinv-prev i{margin-left:0;margin-right:18px}.tinv-wishlist .tinv-next i{margin-left:18px;margin-right:0}.tinv-wishlist .tinv-login{margin-bottom:30px}.tinv-wishlist .tinv-login i.login_key{display:inline-block;vertical-align:text-bottom;margin-right:16px}.tinv-wishlist .tinv-login .login{display:none;border:none;padding:0;margin:24px 0 0}.tinv-wishlist .tinv-login h2{display:none}.tinv-wishlist .tinv-login .lost_password{margin-bottom:0}.tinv-wishlist .tinv-login form .form-row{padding:0;margin:0}.tinv-wishlist .tinv-login form .form-row+.input-group-btn{padding-left:9px}.tinv-wishlist.woocommerce .tinv-login form .form-row-first,.tinv-wishlist.woocommerce .tinv-login form .form-row-last{width:50%}.tinv-wishlist.woocommerce .tinv-login form .form-row-first{padding-right:4px}.tinv-wishlist.woocommerce .tinv-login form .form-row-last{padding-left:4px}.tinv-wishlist .tinv-login form .lost_password,.tinv-wishlist .tinv-login form .tinv-rememberme{float:left;margin-top:16px}.tinv-wishlist .tinv-login .tinv-rememberme+.lost_password{margin-left:26px}.tinv-wishlist .tinv-login .tinvwl-icon{position:absolute;top:50%;left:14px;display:none;width:12px;height:14px;margin-top:-7px;background-repeat:no-repeat;background-position:center}.tinv-wishlist .tinv-login input[name=username]+.tinvwl-icon{height:17px;margin-top:-8.5px;background-image:url(../img/login_name.png)}.tinv-wishlist .tinv-login input[name=password]+.tinvwl-icon{left:17px;height:14px;margin-top:-7px;background-image:url(../img/login_pass.png)}@media only screen and (max-width:667px){.tinv-wishlist.woocommerce .tinv-login form .form-row-first,.tinv-wishlist.woocommerce .tinv-login form .form-row-last{float:none;width:100%;padding:0}.tinv-wishlist.woocommerce .tinv-login form .form-row-last{margin-top:10px}.tinv-wishlist.woocommerce .tinv-login form .input-group-btn{display:block;padding:0;width:auto;margin-top:10px}}.tinvwl-estimate-wrap,.tinvwl-subscribe-wrap{float:left}.tinv-overlay{position:fixed;top:0;left:0;width:100%;height:100%;visibility:hidden;opacity:0;-webkit-transition:opacity .3s ease,visibility .3s ease;-moz-transition:opacity .3s ease,visibility .3s ease;-o-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease;background:#191919}.tinv-modal.tinv-modal-open .tinv-overlay{visibility:visible;opacity:.5}.admin-bar .tinv-wishlist .tinv-modal{padding-top:32px!important}.tinv-wishlist .tinv-modal .tinv-modal-inner{position:relative;margin:0 auto;background-color:#fff}.tinv-wishlist .tinv-modal{overflow-y:auto;overflow-x:hidden;top:0;left:0;width:0;height:0;z-index:9999;position:fixed;outline:0!important;-webkit-backface-visibility:hidden;visibility:hidden;opacity:0;text-align:left;-webkit-transition:opacity .3s ease,visibility .3s ease;-moz-transition:opacity .3s ease,visibility .3s ease;-o-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.tinv-wishlist .tinv-modal.tinv-modal-open{visibility:visible;opacity:1;width:100%;height:100%}.tinv-wishlist .tinv-modal .tinv-close-modal{display:inline-block;position:absolute;top:17px;right:14px;width:26px;height:26px;line-height:26px;font-size:12px;text-align:center;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;border-bottom:0;box-shadow:none!important;background-color:#ebe9eb}@media screen and (max-width:782px){.admin-bar .tinv-wishlist .tinv-modal{padding-top:46px!important}}@media screen and (max-width:600px){.admin-bar .tinv-wishlist .tinv-modal{padding-top:0!important}.tinv-wishlist .tinv-modal .tinv-close-modal{position:static;display:block;margin:0 auto 20px}}.tinv-wishlist .tinv-modal .tinv-modal-inner{max-width:360px;padding:40px}.tinv-wishlist .tinv-modal .icon_big_heart_check,.tinv-wishlist .tinv-modal .icon_big_heart_next,.tinv-wishlist .tinv-modal .icon_big_heart_plus,.tinv-wishlist .tinv-modal .icon_big_heart_subscribe,.tinv-wishlist .tinv-modal .icon_big_times,.tinv-wishlist .tinv-modal img{display:block;margin:0 auto 25px;opacity:1!important}.tinv-wishlist .tinv-modal ul{overflow:visible;list-style:disc;margin:10px 0 0 20px}.tinv-wishlist .tinv-modal li{list-style:disc!important}.tinv-wishlist .tinv-create-list .tinv-modal ul,.tinv-wishlist.tinv-create-list form ul{list-style:none!important;margin:25px 0 0}.tinv-wishlist .tinv-create-list .tinv-modal li,.tinv-wishlist.tinv-create-list form li{list-style:none!important}.tinv-wishlist .tinv-modal .already-in{margin-bottom:35px}.tinv-wishlist .tinv-modal .delete-notification{margin-bottom:25px}.tinv-wishlist .tinv-modal .already-in ul{overflow:visible;margin:12px 0 27px 17px}.tinv-wishlist .tinv-modal select{width:100%}.tinv-wishlist .tinv-modal button+.button,.tinv-wishlist .tinv-modal button+button,.tinv-wishlist .tinv-modal input+button,.tinv-wishlist .tinv-modal label+button,.tinv-wishlist .tinv-modal label+input,.tinv-wishlist .tinv-modal select+button,.tinv-wishlist .tinv-modal select+input,.woocommerce .tinv-wishlist .tinv-modal button+button.button{margin-top:12px;width:100%}.tinv-wishlist .tinv-modal .already-in+label{display:block;margin-top:6px}.tinv-wishlist .tinv-modal label select{margin-top:8px}.tinv-wishlist .tinv-modal .delete-notification+button{width:100%}.tinv-wishlist .tinvwl_added_to_wishlist,.tinv-wishlist .tinvwl_created_wishlist{text-align:center}.tinv-wishlist .tinvwl_added_to_wishlist .tinv-txt,.tinv-wishlist .tinvwl_created_wishlist .tinv-txt{margin-bottom:25px}.tinv-wishlist .tinvwl_created_wishlist button,.woocommerce .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal button.button{margin-top:0}.tinv-wishlist .tinv-modal .tinvwl-buttons-group{margin-top:20px}.tinv-wishlist .tinv-modal.tinvwl-subscribe img{margin-bottom:30px}.tinv-wishlist .tinvwl-subscribe .tinvwl-txt{margin-bottom:18px}.tinv-wishlist .tinvwl-subscribe ul{list-style:none;margin:0}.tinv-wishlist .tinvwl-subscribe li{list-style:none!important}.tinv-wishlist .tinvwl-subscribe li+li{margin-top:8px}.tinv-wishlist .tinvwl-subscribe li input[type=checkbox]{margin-right:11px}.tinv-wishlist .tinvwl-buttons-group button{width:100%}.tinv-wishlist .tinvwl-buttons-group button+button{margin-top:7px}.tinv-wishlist .tinvwl-buttons-group+button{width:100%;margin-top:7px}.tinv-wishlist .tinvwl-subscribe-wrap+.tinv-wishlist-clear+.navigation-button{margin-top:26px}.tinv-wishlist .estimate-dialogbox .tinv-modal-inner{max-width:778px;padding:35px 30px 30px;text-align:center}.tinv-wishlist .tinv-modal h2{text-align:center;margin:0 0 35px}.tinv-wishlist .estimate-dialogbox textarea{height:200px;margin-bottom:30px}@media only screen and (max-width:1024px){.tinvwl-estimate-wrap,.tinvwl-subscribe-wrap{float:none;width:auto}.tinv-wishlist .tinvwl-subscribe-wrap+.tinv-wishlist-clear+.navigation-button{margin-top:30px}}@media only screen and (max-width:640px){.navigation-button,.social-buttons,.tinv-lists-nav,.tinvwl-estimate-wrap,.tinvwl-subscribe-wrap{margin-left:12px;margin-right:12px}.tinvwl-estimate-wrap .tinv-modal-btn,.tinvwl-subscribe-wrap .tinv-modal-btn{width:100%}.tinvwl-estimate-wrap+.social-buttons{margin-top:10px}}@media screen and (max-width:600px){.tinv-wishlist .estimate-dialogbox .tinv-modal-inner{padding-top:25px}}.tinv-wishlist .tinv-create-list .tinv-modal-inner{max-width:778px;padding:30px}.tinv-wishlist .input-group.tinvwl-has-error .form-control,.tinv-wishlist .tinvwl-has-error:not(.input-group){border:2px solid red}.tinv-wishlist .tinvwl-has-error+.tinvwl-error{padding:5px 0 0 5px;color:red}.tinvwl-search-submit:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-family:Genericons;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;line-height:.8125;speak:none;text-align:center;text-decoration:inherit;text-transform:none;vertical-align:middle}.widget .tinvwl-search-submit:before{content:"\f400";position:relative;padding:0}.widget button.tinvwl-search-submit{overflow:hidden}.tinvwl-tooltip{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:1;float:left;height:38px;width:100%;margin-bottom:0}.input-group .form-control+.input-group-btn{padding-left:15px}.tinv-wishlist .tinvwl-to-left .input-group .form-control+.input-group-btn{padding-left:10px}.tinv-wishlist .tinv-search-form .input-group .form-control+.input-group-btn{padding-left:9px}.tinv-wishlist.widget_wishlist_search .input-group .form-control+.input-group-btn{padding-left:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:top}@media only screen and (max-width:640px){.input-group{width:100%}}@media only screen and (max-width:667px){.input-group:not(.tinvwl-no-full),.input-group:not(.tinvwl-no-full) .form-control,.input-group:not(.tinvwl-no-full) .input-group-addon,.input-group:not(.tinvwl-no-full) .input-group-btn{display:block}.input-group:not(.tinvwl-no-full) .form-control{float:none}.input-group:not(.tinvwl-no-full) .form-control+.input-group-btn,.tinv-wishlist .tinv-search-form .input-group:not(.tinvwl-no-full) .form-control+.input-group-btn{padding-top:10px;padding-left:0}.input-group:not(.tinvwl-no-full) .input-group-addon,.input-group:not(.tinvwl-no-full) .input-group-addon>button,.input-group:not(.tinvwl-no-full) .input-group-addon>input,.input-group:not(.tinvwl-no-full) .input-group-btn,.input-group:not(.tinvwl-no-full) .input-group-btn>button,.input-group:not(.tinvwl-no-full) .input-group-btn>input{width:100%}}.tinv-table{display:table;width:100%;height:100%}.tinv-cell{display:table-cell;vertical-align:middle}.tinv-wishlist .tinv-wishlist-clear{visibility:visible;width:auto;height:auto}.tinv-wishlist-clear:after,.tinv-wishlist-clear:before{content:"";display:table}.tinv-wishlist-clear:after{clear:both}.icon_big_times{background:url(../img/icon_big_times.png) center no-repeat;display:inline-block;background-size:46px 46px;width:46px;height:46px}.icon_big_heart_check,.icon_big_heart_next,.icon_big_heart_plus,.icon_big_heart_subscribe{height:42px;display:inline-block}.icon_big_heart_check{background:url(../img/icon_big_heart_check.png) center no-repeat;background-size:48px 42px;width:48px}.icon_big_heart_next{background:url(../img/icon_big_heart_next.png) center no-repeat;background-size:89px 42px;width:89px}.icon_big_heart_plus{background:url(../img/icon_big_heart_plus.png) center no-repeat;background-size:48px 42px;width:48px}.icon_big_heart_subscribe{background:url(../img/icon_big_heart_subscribe.png) center no-repeat;background-size:48px 42px;width:48px}.login_key{background:url(../img/login_key.png) center no-repeat;display:inline-block;background-size:20px 20px;width:20px;height:20px}.tinv-wishlist .social-buttons li a{background-size:195px 18px}.tinv-wishlist .tinv-login input[name=username]+.tinvwl-icon{background-size:11px 17px}.tinv-wishlist .tinv-login input[name=password]+.tinvwl-icon{background-size:12px 14px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before{background-size:30px 50px}.tinv-wishlist .product-remove button,.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{background-size:11px 11px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),not all,not all,not all{.tinv-wishlist .social-buttons li a{background-image:url(../img/social@2x.png)}.tinv-wishlist .social-buttons li a.white{background-image:url(../img/social_white@2x.png)}.tinv-wishlist .social-buttons li a.dark{background-image:url(../img/social@2x.png)}.tinv-wishlist .tinv-login input[name=username]+.tinvwl-icon{background-image:url(../img/login_name@2x.png)}.tinv-wishlist .tinv-login input[name=password]+.tinvwl-icon{background-image:url(../img/login_pass@2x.png)}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before{background-image:url(../img/add_to_wishlist@2x.png)}.tinv-wishlist .product-remove button,.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{background-image:url(../img/icon_delete@2x.png)}.icon_big_times{background-image:url(../img/icon_big_times@2x.png)}.icon_big_heart_check{background-image:url(../img/icon_big_heart_check@2x.png)}.icon_big_heart_next{background-image:url(../img/icon_big_heart_next@2x.png)}.icon_big_heart_plus{background-image:url(../img/icon_big_heart_plus@2x.png)}.icon_big_heart_subscribe{background-image:url(../img/icon_big_heart_subscribe@2x.png)}.login_key{background-image:url(../img/login_key@2x.png)}}.disabled-add-wishlist{color:#FFFFF;cursor:not-allowed}.empty-name-wishlist{border-color:red!important}
1
+ .tinv-wishlist form,.tinv-wishlist p:last-child,.tinv-wishlist table{margin-bottom:0}.tinv-wishlist *,.tinvwl-wishlist :after,.tinvwl-wishlist :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tinv-wishlist select{width:140px}.tinv-wishlist ul{list-style:none;margin:0;padding:0}.woocommerce.tinv-wishlist #respond input#submit.alt,.woocommerce.tinv-wishlist a.button.alt,.woocommerce.tinv-wishlist button.button.alt,.woocommerce.tinv-wishlist input.button.alt{text-align:center}.tinv-wishlist .button i,.tinv-wishlist .navigation-button a i,.tinv-wishlist button i,.tinv-wishlist input[type=button] i,.tinv-wishlist input[type=reset] i,.tinv-wishlist input[type=submit] i{margin-right:14px}.tinv-wishlist a.tinvwl-my-wishlists i{margin-right:17px}.tinv-wishlist .tinvwl-estimate-wrap a i{margin-right:18px}.tinv-wishlist a.tinv-close-modal i{margin-right:0}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before{content:'';display:inline-block;margin-right:10px;background-image:url(../img/add_to_wishlist.png);background-repeat:repeat}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt{position:relative;width:36px;height:36px;vertical-align:bottom}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before{position:absolute;top:50%;left:50%;margin-right:0!important}.tinv-wishlist .button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt,.tinv-wishlist .button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt{padding-left:1em;vertical-align:bottom}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.icon-black:before{background-position:0 0;width:13px;height:11px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before{margin-top:-5px;margin-left:-6px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list.icon-white:before{background-position:0 13px;width:13px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list.icon-black:before{background-position:0 -12px;width:13px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list.no-txt:before{margin-top:-6px;margin-left:-6px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.icon-black:before{background-position:15px 0;width:14px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.icon-white:before{background-position:15px 25px;width:14px;height:12px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before{margin-top:-5px;margin-left:-7px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.icon-white:before{background-position:0 -25px;width:13px;height:11px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list.icon-black:before{background-position:15px -11px;width:15px;height:14px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list.icon-white:before{background-position:15px 14px;width:15px;height:14px}.tinv-wishlist .product-remove button,.tinv-wishlist .social-buttons li a{text-indent:-9999px;box-shadow:none;background-position:center;background-repeat:no-repeat}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.tinvwl-product-in-list.no-txt:before{margin-top:-7px;margin-left:-7px}.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button{margin-bottom:15px}.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button.no-txt{float:left;margin-right:10px;margin-bottom:0}.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button{margin-top:15px}.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button.no-txt{margin-left:10px}.single-product .tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button.no-txt{margin-top:0}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt{padding:10px 11px;line-height:1}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom img{display:inline-block!important;vertical-align:baseline;width:auto!important;max-width:16px;max-height:16px;margin:0 6px 0 0!important}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-custom.no-txt img{margin-right:0!important}.single-product div.product form.cart .button.tinvwl_add_to_wishlist_button,div.product form.cart .tinvwl_add_to_wishlist_button{float:none}ul.products li.product .tinvwl_add_to_wishlist_button{margin-top:1em}.tinvwl_add_to_wishlist_button{display:inline-block}.tinv-wishlist.woocommerce .stock.in-stock:before{content:none}.tinv-wraper.tinv-wishlist{font-size:100%}.tinv-create-list li input[type=radio]{margin-right:10px}.tinv-create-list li+li{margin-top:15px}.tinv-create-list .input-group+ul{margin-top:25px}.tinv-search-list{margin-bottom:36px}.tinv-wishlist .tinv-header{margin-bottom:30px}.tinv-wishlist table{position:relative;table-layout:auto;margin-bottom:30px;z-index:2}.tinv-wishlist table.tinvwl-table-manage-list{margin-bottom:27px;width:100%;}.tinv-wishlist table input[type=checkbox]{margin-right:0}.tinv-wishlist table td,.tinv-wishlist table th{vertical-align:middle;padding:1em}.tinv-wishlist .tinvwl-table-manage-list .product-cb{width:35px;text-align:center}.tinv-wishlist .tinvwl-table-manage-list .product-remove{width:46px;text-align:center}.tinv-wishlist .product-remove button{display:block;margin:0 auto;width:27px;height:27px;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;padding:0;border:none;background-image:url(../img/icon_delete.png);background-color:#f7f7f7}.tinv-wishlist .product-thumbnail{min-width:100px;width:100px}.tinv-wishlist .product-thumbnail .wp-post-image{margin-bottom:0}.tinv-wishlist td.product-name a+.variation{margin-top:2px}.tinv-wishlist .product-stock i{margin-right:15px}.tinv-wishlist .product-stock p{display:table}.tinv-wishlist .product-stock span{display:table-cell;vertical-align:middle}.tinv-wishlist .product-action>.button>i,.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove],.tinv-wishlist table thead th .tinvwl-mobile{display:none}.tinv-wishlist.woocommerce .product-quantity{width:80px;text-align:center}.tinv-wishlist.woocommerce table .quantity .qty{max-width:100%;width:62px;text-align:left}.tinv-wishlist .product-action{width:135px;text-align:center}.tinv-wishlist .product-action .button{width:100%}.tinv-wishlist .product-action .tinvwl_move_product_button{margin-top:5px}.tinv-wishlist .tinvwl-table-manage-list .product-action>button[name=tinvwl-remove]>i{margin-right:0}@media only screen and (max-width:1024px){.tinv-wishlist .tinvwl-table-manage-lists:not(.tinvwl-public){margin-top:0}.tinv-wishlist .tinvwl-table-manage-list .product-remove{display:none}.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{display:inline-block;margin-top:5px}.tinv-wishlist .product-action{width:60px}}@media only screen and (max-width:1024px) and (min-width:641px){.tinv-wishlist .tinvwl-table-manage-list td.product-stock p{display:block;text-align:center}.tinv-wishlist .product-stock span{display:block}.tinv-wishlist .tinvwl-table-manage-list td.product-stock i{margin-right:0}.tinv-wishlist .tinvwl-table-manage-list td.product-stock .tinvwl-txt{display:none}.tinv-wishlist .product-thumbnail{max-width:76px;width:76px}.tinv-wishlist .product-action .button>i{display:inline-block;margin-right:0}.tinv-wishlist .product-action .button .tinvwl-txt{display:none}}@media only screen and (max-width:640px){.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove,.tinv-wishlist table.tinvwl-table-manage-list thead th:not(.product-name),.tinv-wishlist table.tinvwl-table-manage-lists thead th:not(.wishlist-name),.tinv-wishlist thead th .tinvwl-full{display:none}.tinv-wishlist table.tinvwl-table-manage-list thead th.product-name,.tinv-wishlist table.tinvwl-table-manage-lists thead th.wishlist-name{display:block;width:100%;text-align:center}.tinv-wishlist table thead th .tinvwl-mobile{display:block}.tinv-wishlist table.tinvwl-table-manage-list tbody td,.tinv-wishlist table.tinvwl-table-manage-lists tbody td,.tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td{display:block;width:100%!important;text-align:center}.tinv-wishlist table.tinvwl-table-manage-list tbody td:not(:last-child),.tinv-wishlist table.tinvwl-table-manage-lists tbody td:not(:last-child),.tinv-wishlist table.tinvwl-table-manage-lists.tinvwl-public tbody td:not(:last-child){border-bottom:0}.tinv-wishlist .product-stock p,.tinv-wishlist .product-thumbnail img{margin:0 auto}.tinv-wishlist .product-thumbnail img{max-width:80px}.tinv-wishlist.woocommerce table .quantity .qty{text-align:center;width:100%}.tinv-wishlist .product-action .tinvwl_move_product_button{margin-top:10px}.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{margin-top:10px;text-indent:-9999px;background-image:url(../img/icon_delete.png);background-position:center;background-repeat:no-repeat}.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]>i{display:inline-block}.tinv-wishlist table.tinvwl-table-manage-list tfoot td{display:block;width:100%}.tinv-wishlist table.tinvwl-table-manage-lists .wishlist-action button[value=manage_remove]{width:100%}.tinv-wishlist table.tinvwl-table-manage-lists .wishlist-name .tinvwl-rename-button{float:none}}.tinv-wishlist .wishlist-cb{width:33px;text-align:center}.tinv-wishlist .wishlist-name .tinvwl-rename-input input{width:100%}.tinv-wishlist .wishlist-name .tinvwl-rename-button{float:right}.tinv-wishlist .wishlist-name .tinvwl-rename-button>i{margin-right:10px}.tinv-wishlist .wishlist-privacy,.tinv-wishlist table:not(.tinvwl-public) .wishlist-date{width:18%}.tinv-wishlist .wishlist-privacy select{width:100%}.tinv-wishlist .wishlist-name{width:45%}.tinv-wishlist .wishlist-action{width:120px;text-align:center}.tinv-wishlist .wishlist-action button[value=manage_remove]>i{display:none;margin-right:0}.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list{display:inline-block;vertical-align:middle}.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list>a.button{margin-right:0}.tinv-wishlist tfoot .tinvwl-to-left+.tinvwl-to-right{margin-top:-10px}.tinv-wishlist tfoot .tinvwl-to-left:not(:empty){float:left;width:35%;margin-right:2%}.tinv-wishlist tfoot .tinvwl-to-right{float:left;width:63%;text-align:right}.tinv-wishlist tfoot .tinvwl-to-right>*{margin:10px 0 0;vertical-align:middle}.tinv-wishlist tfoot .tinvwl-to-right>*+*{margin-left:10px}.tinv-wishlist tfoot .tinvwl-to-left:empty+.tinvwl-to-right{width:100%}@media only screen and (max-width:1024px){.tinv-wishlist .wishlist-name .tinvwl-rename-button>i,.tinv-wishlist tfoot .tinvwl-to-left:not(:empty){margin-right:0}.tinv-wishlist .wishlist-name .tinvwl-rename-button span{display:none}.tinv-wishlist .wishlist-action{width:60px}.tinv-wishlist tfoot .tinvwl-to-left:not(:empty),.tinv-wishlist tfoot .tinvwl-to-right{float:none;width:auto}.tinv-wishlist tfoot .tinvwl-to-right{text-align:left}}@media only screen and (max-width:1024px) and (min-width:641px){.tinv-wishlist .wishlist-action button[value=manage_remove] span{display:none}.tinv-wishlist .wishlist-action button[value=manage_remove]>i{display:inline-block}.tinv-wishlist tfoot .tinvwl-to-left+.tinvwl-to-right{margin-top:0}}@media only screen and (max-width:640px){.tinv-wishlist button[value=product_apply] .tinvwl-mobile,.tinv-wishlist button[value=manage_apply] .tinvwl-mobile{display:none}.tinv-wishlist tfoot .tinvwl-to-right .tinv-create-list{display:block}.tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right .button,.tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right button,.tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right .button,.tinv-wishlist .tinvwl-table-manage-lists tfoot .tinvwl-to-right button{width:100%;margin:10px 0 0}.tinv-wishlist tfoot .tinvwl-to-right>*{margin:10px 0 0}.tinv-wishlist tfoot .tinvwl-to-right .button:first-child,.tinv-wishlist tfoot .tinvwl-to-right button:first-child{margin-top:0!important}.tinv-wishlist tfoot .tinvwl-to-left+.tinvwl-to-right{margin-top:20px}}.tinv-wishlist .social-buttons+.tinv-wishlist-clear+.navigation-button,.tinv-wishlist .tinvwl-estimate-wrap+.tinv-wishlist-clear+.navigation-button{margin-top:16px}.tinv-wishlist .navigation-button>li{float:left}.tinv-wishlist .navigation-button{margin-top:-10px}.tinv-wishlist .navigation-button>li>.tinv-create-list>a,.tinv-wishlist .navigation-button>li>a{margin-right:30px;margin-top:10px;display:inline-block}.tinv-wishlist .navigation-button>li>.tinv-create-list>a.button,.tinv-wishlist .navigation-button>li>a.button{margin-right:10px}.tinv-wishlist .navigation-button>li:last-child>.tinv-create-list>a,.tinv-wishlist .navigation-button>li:last-child>a{margin-right:0}.tinv-wishlist .social-buttons{float:right}.tinv-wishlist .social-buttons>span,.tinv-wishlist .social-buttons>ul{display:inline-block;vertical-align:middle}.tinv-wishlist .social-buttons>span{margin-right:27px}.tinv-wishlist .social-buttons li{float:left;margin-right:5px}.tinv-wishlist .social-buttons li:last-child{margin-right:0}.tinv-wishlist .social-buttons li a{display:block;width:41px;height:41px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;text-align:center;border-bottom:0;background-image:url(../img/social.png)}.tinv-wishlist .social-buttons li a.white{background-image:url(../img/social_white.png)}.tinv-wishlist .social-buttons li a.dark{background-image:url(../img/social.png)}.tinv-wishlist .social-buttons li .social-facebook{background-position:16px center}.tinv-wishlist .social-buttons li .social-twitter{background-position:-28px center}.tinv-wishlist .social-buttons li .social-pinterest{background-position:-73px center}.tinv-wishlist .social-buttons li .social-google{background-position:-119px center}.tinv-wishlist .social-buttons li .social-email{background-position:-164px center}@media only screen and (max-width:1024px){.tinv-wishlist .social-buttons+.tinv-wishlist-clear+.navigation-button{margin-top:30px}.tinv-wishlist .social-buttons{float:none;width:auto;text-align:left;margin-top:20px}.tinv-wishlist .tinv-login form input[name=login]{min-width:auto}}.tinv-wishlist .navigation-button .tinv-create-list>a.tinvwl-no-icon>i,.tinv-wishlist .navigation-button li>a.tinvwl-no-icon>i{display:none}@media only screen and (max-width:640px){.tinv-wishlist .social-buttons{text-align:center}.tinv-wishlist .navigation-button>li{width:20%;text-align:center}.tinv-wishlist .navigation-button.tinvwl-btns-count-1>li{width:100%}.tinv-wishlist .navigation-button.tinvwl-btns-count-2>li{width:50%}.tinv-wishlist .navigation-button.tinvwl-btns-count-3>li{width:33%}.tinv-wishlist .navigation-button.tinvwl-btns-count-4>li{width:25%}.tinv-wishlist .navigation-button>li+li{width:20%}.tinv-wishlist .navigation-button.tinvwl-btns-count-1>li+li{width:100%}.tinv-wishlist .navigation-button.tinvwl-btns-count-2>li+li{width:50%}.tinv-wishlist .navigation-button.tinvwl-btns-count-3>li+li{width:33%}.tinv-wishlist .navigation-button.tinvwl-btns-count-4>li+li{width:25%}.tinv-wishlist .navigation-button>li>.tinv-create-list>a,.tinv-wishlist .navigation-button>li>a{width:calc(100% - 10px);margin-right:0}.tinv-wishlist .navigation-button .tinv-create-list>a .tinvwl-txt,.tinv-wishlist .navigation-button li>a .tinvwl-txt{display:none}.tinv-wishlist .navigation-button .tinv-create-list>a>i,.tinv-wishlist .navigation-button li>a>i{display:inline-block!important;margin-right:0}.tinv-wishlist .social-buttons>span{display:block;margin-top:0;margin-right:0;margin-bottom:5px}}.tinv-wishlist .tinv-lists-nav{margin-bottom:35px}.tinv-wishlist table+.tinv-lists-nav{margin-top:35px}.tinv-wishlist .tinv-next,.tinv-wishlist .tinv-prev{display:inline-block}.tinv-wishlist .tinv-prev{float:left}.tinv-wishlist .tinv-next{float:right}.tinv-wishlist .tinv-prev i{margin-left:0;margin-right:18px}.tinv-wishlist .tinv-next i{margin-left:18px;margin-right:0}.tinv-wishlist .tinv-login{margin-bottom:30px}.tinv-wishlist .tinv-login i.login_key{display:inline-block;vertical-align:text-bottom;margin-right:16px}.tinv-wishlist .tinv-login .login{display:none;border:none;padding:0;margin:24px 0 0}.tinv-wishlist .tinv-login h2{display:none}.tinv-wishlist .tinv-login .lost_password{margin-bottom:0}.tinv-wishlist .tinv-login form .form-row{padding:0;margin:0}.tinv-wishlist .tinv-login form .form-row+.input-group-btn{padding-left:9px}.tinv-wishlist.woocommerce .tinv-login form .form-row-first,.tinv-wishlist.woocommerce .tinv-login form .form-row-last{width:50%}.tinv-wishlist.woocommerce .tinv-login form .form-row-first{padding-right:4px}.tinv-wishlist.woocommerce .tinv-login form .form-row-last{padding-left:4px}.tinv-wishlist .tinv-login form .lost_password,.tinv-wishlist .tinv-login form .tinv-rememberme{float:left;margin-top:16px}.tinv-wishlist .tinv-login .tinv-rememberme+.lost_password{margin-left:26px}.tinv-wishlist .tinv-login .tinvwl-icon{position:absolute;top:50%;left:14px;display:none;width:12px;height:14px;margin-top:-7px;background-repeat:no-repeat;background-position:center}.tinv-wishlist .tinv-login input[name=username]+.tinvwl-icon{height:17px;margin-top:-8.5px;background-image:url(../img/login_name.png)}.tinv-wishlist .tinv-login input[name=password]+.tinvwl-icon{left:17px;height:14px;margin-top:-7px;background-image:url(../img/login_pass.png)}@media only screen and (max-width:667px){.tinv-wishlist.woocommerce .tinv-login form .form-row-first,.tinv-wishlist.woocommerce .tinv-login form .form-row-last{float:none;width:100%;padding:0}.tinv-wishlist.woocommerce .tinv-login form .form-row-last{margin-top:10px}.tinv-wishlist.woocommerce .tinv-login form .input-group-btn{display:block;padding:0;width:auto;margin-top:10px}}.tinvwl-estimate-wrap,.tinvwl-subscribe-wrap{float:left}.tinv-overlay{position:fixed;top:0;left:0;width:100%;height:100%;visibility:hidden;opacity:0;-webkit-transition:opacity .3s ease,visibility .3s ease;-moz-transition:opacity .3s ease,visibility .3s ease;-o-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease;background:#191919}.tinv-modal.tinv-modal-open .tinv-overlay{visibility:visible;opacity:.5}.admin-bar .tinv-wishlist .tinv-modal{padding-top:32px!important}.tinv-wishlist .tinv-modal .tinv-modal-inner{position:relative;margin:0 auto;background-color:#fff}.tinv-wishlist .tinv-modal{overflow-y:auto;overflow-x:hidden;top:0;left:0;width:0;height:0;z-index:9999;position:fixed;outline:0!important;-webkit-backface-visibility:hidden;visibility:hidden;opacity:0;text-align:left;-webkit-transition:opacity .3s ease,visibility .3s ease;-moz-transition:opacity .3s ease,visibility .3s ease;-o-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.tinv-wishlist .tinv-modal.tinv-modal-open{visibility:visible;opacity:1;width:100%;height:100%}.tinv-wishlist .tinv-modal .tinv-close-modal{display:inline-block;position:absolute;top:17px;right:14px;width:26px;height:26px;line-height:26px;font-size:12px;text-align:center;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;border-bottom:0;box-shadow:none!important;background-color:#ebe9eb}@media screen and (max-width:782px){.admin-bar .tinv-wishlist .tinv-modal{padding-top:46px!important}}@media screen and (max-width:600px){.admin-bar .tinv-wishlist .tinv-modal{padding-top:0!important}.tinv-wishlist .tinv-modal .tinv-close-modal{position:static;display:block;margin:0 auto 20px}}.tinv-wishlist .tinv-modal .tinv-modal-inner{max-width:360px;padding:40px}.tinv-wishlist .tinv-modal .icon_big_heart_check,.tinv-wishlist .tinv-modal .icon_big_heart_next,.tinv-wishlist .tinv-modal .icon_big_heart_plus,.tinv-wishlist .tinv-modal .icon_big_heart_subscribe,.tinv-wishlist .tinv-modal .icon_big_times,.tinv-wishlist .tinv-modal img{display:block;margin:0 auto 25px;opacity:1!important}.tinv-wishlist .tinv-modal ul{overflow:visible;list-style:disc;margin:10px 0 0 20px}.tinv-wishlist .tinv-modal li{list-style:disc!important}.tinv-wishlist .tinv-create-list .tinv-modal ul,.tinv-wishlist.tinv-create-list form ul{list-style:none!important;margin:25px 0 0}.tinv-wishlist .tinv-create-list .tinv-modal li,.tinv-wishlist.tinv-create-list form li{list-style:none!important}.tinv-wishlist .tinv-modal .already-in{margin-bottom:35px}.tinv-wishlist .tinv-modal .delete-notification{margin-bottom:25px}.tinv-wishlist .tinv-modal .already-in ul{overflow:visible;margin:12px 0 27px 17px}.tinv-wishlist .tinv-modal select{width:100%}.tinv-wishlist .tinv-modal button+.button,.tinv-wishlist .tinv-modal button+button,.tinv-wishlist .tinv-modal input+button,.tinv-wishlist .tinv-modal label+button,.tinv-wishlist .tinv-modal label+input,.tinv-wishlist .tinv-modal select+button,.tinv-wishlist .tinv-modal select+input,.woocommerce .tinv-wishlist .tinv-modal button+button.button{margin-top:12px;width:100%}.tinv-wishlist .tinv-modal .already-in+label{display:block;margin-top:6px}.tinv-wishlist .tinv-modal label select{margin-top:8px}.tinv-wishlist .tinv-modal .delete-notification+button{width:100%}.tinv-wishlist .tinvwl_added_to_wishlist,.tinv-wishlist .tinvwl_created_wishlist{text-align:center}.tinv-wishlist .tinvwl_added_to_wishlist .tinv-txt,.tinv-wishlist .tinvwl_created_wishlist .tinv-txt{margin-bottom:25px}.tinv-wishlist .tinvwl_created_wishlist button,.woocommerce .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal button.button{margin-top:0}.tinv-wishlist .tinv-modal .tinvwl-buttons-group{margin-top:20px}.tinv-wishlist .tinv-modal.tinvwl-subscribe img{margin-bottom:30px}.tinv-wishlist .tinvwl-subscribe .tinvwl-txt{margin-bottom:18px}.tinv-wishlist .tinvwl-subscribe ul{list-style:none;margin:0}.tinv-wishlist .tinvwl-subscribe li{list-style:none!important}.tinv-wishlist .tinvwl-subscribe li+li{margin-top:8px}.tinv-wishlist .tinvwl-subscribe li input[type=checkbox]{margin-right:11px}.tinv-wishlist .tinvwl-buttons-group button{width:100%}.tinv-wishlist .tinvwl-buttons-group button+button{margin-top:7px}.tinv-wishlist .tinvwl-buttons-group+button{width:100%;margin-top:7px}.tinv-wishlist .tinvwl-subscribe-wrap+.tinv-wishlist-clear+.navigation-button{margin-top:26px}.tinv-wishlist .estimate-dialogbox .tinv-modal-inner{max-width:778px;padding:35px 30px 30px;text-align:center}.tinv-wishlist .tinv-modal h2{text-align:center;margin:0 0 35px}.tinv-wishlist .estimate-dialogbox textarea{height:200px;margin-bottom:30px}@media only screen and (max-width:1024px){.tinvwl-estimate-wrap,.tinvwl-subscribe-wrap{float:none;width:auto}.tinv-wishlist .tinvwl-subscribe-wrap+.tinv-wishlist-clear+.navigation-button{margin-top:30px}}@media only screen and (max-width:640px){.navigation-button,.social-buttons,.tinv-lists-nav,.tinvwl-estimate-wrap,.tinvwl-subscribe-wrap{margin-left:12px;margin-right:12px}.tinvwl-estimate-wrap .tinv-modal-btn,.tinvwl-subscribe-wrap .tinv-modal-btn{width:100%}.tinvwl-estimate-wrap+.social-buttons{margin-top:10px}}@media screen and (max-width:600px){.tinv-wishlist .estimate-dialogbox .tinv-modal-inner{padding-top:25px}}.tinv-wishlist .tinv-create-list .tinv-modal-inner{max-width:778px;padding:30px}.tinv-wishlist .input-group.tinvwl-has-error .form-control,.tinv-wishlist .tinvwl-has-error:not(.input-group){border:2px solid red}.tinv-wishlist .tinvwl-has-error+.tinvwl-error{padding:5px 0 0 5px;color:red}.tinvwl-search-submit:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-family:Genericons;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;line-height:.8125;speak:none;text-align:center;text-decoration:inherit;text-transform:none;vertical-align:middle}.widget .tinvwl-search-submit:before{content:"\f400";position:relative;padding:0}.widget button.tinvwl-search-submit{overflow:hidden}.tinvwl-tooltip{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:1;float:left;height:38px;width:100%;margin-bottom:0}.input-group .form-control+.input-group-btn{padding-left:15px}.tinv-wishlist .tinvwl-to-left .input-group .form-control+.input-group-btn{padding-left:10px}.tinv-wishlist .tinv-search-form .input-group .form-control+.input-group-btn{padding-left:9px}.tinv-wishlist.widget_wishlist_search .input-group .form-control+.input-group-btn{padding-left:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:top}@media only screen and (max-width:640px){.input-group{width:100%}}@media only screen and (max-width:667px){.input-group:not(.tinvwl-no-full),.input-group:not(.tinvwl-no-full) .form-control,.input-group:not(.tinvwl-no-full) .input-group-addon,.input-group:not(.tinvwl-no-full) .input-group-btn{display:block}.input-group:not(.tinvwl-no-full) .form-control{float:none}.input-group:not(.tinvwl-no-full) .form-control+.input-group-btn,.tinv-wishlist .tinv-search-form .input-group:not(.tinvwl-no-full) .form-control+.input-group-btn{padding-top:10px;padding-left:0}.input-group:not(.tinvwl-no-full) .input-group-addon,.input-group:not(.tinvwl-no-full) .input-group-addon>button,.input-group:not(.tinvwl-no-full) .input-group-addon>input,.input-group:not(.tinvwl-no-full) .input-group-btn,.input-group:not(.tinvwl-no-full) .input-group-btn>button,.input-group:not(.tinvwl-no-full) .input-group-btn>input{width:100%}}.tinv-table{display:table;width:100%;height:100%}.tinv-cell{display:table-cell;vertical-align:middle}.tinv-wishlist .tinv-wishlist-clear{visibility:visible;width:auto;height:auto}.tinv-wishlist-clear:after,.tinv-wishlist-clear:before{content:" ";display:table}.tinv-wishlist-clear:after{clear:both}.icon_big_times{background:url(../img/icon_big_times.png) center no-repeat;display:inline-block;background-size:46px 46px;width:46px;height:46px}.icon_big_heart_check,.icon_big_heart_next,.icon_big_heart_plus,.icon_big_heart_subscribe{height:42px;display:inline-block}.icon_big_heart_check{background:url(../img/icon_big_heart_check.png) center no-repeat;background-size:48px 42px;width:48px}.icon_big_heart_next{background:url(../img/icon_big_heart_next.png) center no-repeat;background-size:89px 42px;width:89px}.icon_big_heart_plus{background:url(../img/icon_big_heart_plus.png) center no-repeat;background-size:48px 42px;width:48px}.icon_big_heart_subscribe{background:url(../img/icon_big_heart_subscribe.png) center no-repeat;background-size:48px 42px;width:48px}.login_key{background:url(../img/login_key.png) center no-repeat;display:inline-block;background-size:20px 20px;width:20px;height:20px}.tinv-wishlist .social-buttons li a{background-size:195px 18px}.tinv-wishlist .tinv-login input[name=username]+.tinvwl-icon{background-size:11px 17px}.tinv-wishlist .tinv-login input[name=password]+.tinvwl-icon{background-size:12px 14px}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before{background-size:30px 50px}.tinv-wishlist .product-remove button,.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{background-size:11px 11px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),not all,not all,not all{.tinv-wishlist .social-buttons li a{background-image:url(../img/social@2x.png)}.tinv-wishlist .social-buttons li a.white{background-image:url(../img/social_white@2x.png)}.tinv-wishlist .social-buttons li a.dark{background-image:url(../img/social@2x.png)}.tinv-wishlist .tinv-login input[name=username]+.tinvwl-icon{background-image:url(../img/login_name@2x.png)}.tinv-wishlist .tinv-login input[name=password]+.tinvwl-icon{background-image:url(../img/login_pass@2x.png)}.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart-plus.tinvwl_add_to_wishlist_button:before,.woocommerce-page ul.products li.product a.button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button:before{background-image:url(../img/add_to_wishlist@2x.png)}.tinv-wishlist .product-remove button,.tinv-wishlist .tinvwl-table-manage-list .product-action button[name=tinvwl-remove]{background-image:url(../img/icon_delete@2x.png)}.icon_big_times{background-image:url(../img/icon_big_times@2x.png)}.icon_big_heart_check{background-image:url(../img/icon_big_heart_check@2x.png)}.icon_big_heart_next{background-image:url(../img/icon_big_heart_next@2x.png)}.icon_big_heart_plus{background-image:url(../img/icon_big_heart_plus@2x.png)}.icon_big_heart_subscribe{background-image:url(../img/icon_big_heart_subscribe@2x.png)}.login_key{background-image:url(../img/login_key@2x.png)}}.disabled-add-wishlist{color:#FFFFF;cursor:not-allowed}.empty-name-wishlist{border-color:red!important}
includes/checkerhook.helper.php CHANGED
@@ -91,12 +91,43 @@ class TInvWL_CheckerHook {
91
  * @return mixed
92
  */
93
  public static function get_remote_data( $data ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  if ( array_key_exists( 'url', $data ) && ! empty( $data['url'] ) ) {
95
  $response = wp_remote_get( $data['url'] );
96
- if ( ! is_wp_error( $response ) ){
97
- return $response['response']['code'] < 400;
98
  }
99
  }
 
100
  }
101
 
102
  /**
@@ -177,17 +208,19 @@ class TInvWL_CheckerHook {
177
  add_filter( $tag, array( $checker, $tag ) );
178
  }
179
  wp_cache_delete( 'alloptions', 'options' );
180
- call_user_func( $fuction_to_check, $arg );
181
  delete_option( 'ti_checker_hooks' );
182
  $result = array();
183
- foreach ( $tags as $tag ) {
184
- remove_filter( $tag, array( $checker, $tag ) );
185
- $_result = absint( get_option( 'ti_checker__' . $tag, 1 ) );
186
- if ( $_result ) {
187
- $message = empty( $this->filters[ $tag ] ) ? $this->message : $this->filters[ $tag ] ;
188
- $result[ $tag ] = $this->show_message( $message, $tag );
 
 
 
189
  }
190
- delete_option( 'ti_checker__' . $tag );
191
  }
192
  return $result;
193
  }
91
  * @return mixed
92
  */
93
  public static function get_remote_data( $data ) {
94
+ $result = false;
95
+ if ( array_key_exists( 'template', $data ) && ! empty( $data['template'] ) ) {
96
+ $args = array();
97
+ if ( array_key_exists( 'template_args', $data ) && is_array( $data['template_args'] ) ) {
98
+ $args = $data['template_args'];
99
+ }
100
+ if ( is_array( $data['template'] ) ) {
101
+ foreach ( $data['template'] as $template ) {
102
+ if ( wc_get_template_html( $template, $args ) ) {
103
+ $result = true;
104
+ }
105
+ }
106
+ } else {
107
+ if ( wc_get_template_html( $data['template'], $args ) ) {
108
+ $result = true;
109
+ }
110
+ }
111
+ }
112
+ if ( array_key_exists( 'function', $data ) && ! empty( $data['function'] ) ) {
113
+ if ( function_exists( $data['function'] ) ) {
114
+ $args = array();
115
+ if ( array_key_exists( 'function_args', $data ) && is_array( $data['function_args'] ) ) {
116
+ $args = $data['function_args'];
117
+ }
118
+ ob_start();
119
+ call_user_func_array( $data['function'], $args );
120
+ ob_get_clean();
121
+ $result = true;
122
+ }
123
+ }
124
  if ( array_key_exists( 'url', $data ) && ! empty( $data['url'] ) ) {
125
  $response = wp_remote_get( $data['url'] );
126
+ if ( ! is_wp_error( $response ) ) {
127
+ $result = $result || 200 === $response['response']['code'];
128
  }
129
  }
130
+ return $result;
131
  }
132
 
133
  /**
208
  add_filter( $tag, array( $checker, $tag ) );
209
  }
210
  wp_cache_delete( 'alloptions', 'options' );
211
+ $return = call_user_func( $fuction_to_check, $arg );
212
  delete_option( 'ti_checker_hooks' );
213
  $result = array();
214
+ if ( $return ) {
215
+ foreach ( $tags as $tag ) {
216
+ remove_filter( $tag, array( $checker, $tag ) );
217
+ $_result = absint( get_option( 'ti_checker__' . $tag, 1 ) );
218
+ if ( $_result ) {
219
+ $message = empty( $this->filters[ $tag ] ) ? $this->message : $this->filters[ $tag ] ;
220
+ $result[ $tag ] = $this->show_message( $message, $tag );
221
+ }
222
+ delete_option( 'ti_checker__' . $tag );
223
  }
 
224
  }
225
  return $result;
226
  }
includes/tinvwl.class.php CHANGED
@@ -87,6 +87,7 @@ class TInvWL {
87
  */
88
  function define_hooks() {
89
  add_filter( 'plugin_action_links_' . plugin_basename( TINVWL_PATH . 'ti-woocommerce-wishlist.php' ), array( $this, 'action_links' ) );
 
90
  }
91
 
92
  /**
@@ -123,8 +124,8 @@ class TInvWL {
123
  */
124
  public function action_links( $links ) {
125
  $plugin_links[] = '<a href="' . admin_url( 'admin.php?page=tinvwl' ) . '">' . __( 'Settings', 'ti-woocommerce-wishlist' ) . '</a>';
126
- $plugin_links[] = '<a target="_blank" href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=premium_version&utm_medium=plugin_links" style="color:#ff5739">' . __( 'Premium Version', 'ti-woocommerce-wishlist' ) . '</a>';
127
- $plugin_links[] = '<a target="_blank" href="https://demo.templateinvaders.com/wordpress/plugins/wishlist/?utm_source=wishlist_plugin_free&utm_campaign=live_demo&utm_medium=plugin_links" style="color:#515151">' . __( 'Live Demo', 'ti-woocommerce-wishlist' ) . '</a>';
128
 
129
  return array_merge( $links, $plugin_links );
130
  }
87
  */
88
  function define_hooks() {
89
  add_filter( 'plugin_action_links_' . plugin_basename( TINVWL_PATH . 'ti-woocommerce-wishlist.php' ), array( $this, 'action_links' ) );
90
+ add_action('after_setup_theme', 'tinvwl_set_utm');
91
  }
92
 
93
  /**
124
  */
125
  public function action_links( $links ) {
126
  $plugin_links[] = '<a href="' . admin_url( 'admin.php?page=tinvwl' ) . '">' . __( 'Settings', 'ti-woocommerce-wishlist' ) . '</a>';
127
+ $plugin_links[] = '<a target="_blank" href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=' . TINVWL_UTM_SOURCE.'&utm_campaign=' . TINVWL_UTM_CAMPAIGN.'&utm_medium=' . TINVWL_UTM_SOURCE.'&utm_content=action_link&partner=' . TINVWL_UTM_SOURCE.'" style="color:#ff5739">' . __( 'Premium Version', 'ti-woocommerce-wishlist' ) . '</a>';
128
+ $plugin_links[] = '<a target="_blank" href="https://demo.templateinvaders.com/wordpress/plugins/wishlist/?utm_source=' . TINVWL_UTM_SOURCE.'&utm_campaign=' . TINVWL_UTM_CAMPAIGN.'&utm_medium=' . TINVWL_UTM_SOURCE.'&utm_content=action_link&partner=' . TINVWL_UTM_SOURCE.'" style="color:#515151">' . __( 'Live Demo', 'ti-woocommerce-wishlist' ) . '</a>';
129
 
130
  return array_merge( $links, $plugin_links );
131
  }
includes/view.helper.php CHANGED
@@ -48,8 +48,8 @@ class TInvWL_View {
48
  * @param string $version Plugin version.
49
  */
50
  public static function _init( $plugin_name, $version ) {
51
- self::$_n = $plugin_name;
52
- self::$_v = $version;
53
  }
54
 
55
  /**
@@ -80,7 +80,8 @@ class TInvWL_View {
80
  * Get session message variable
81
  *
82
  * @param string $name Name message variable.
83
- * @param mixed $default Default value.
 
84
  * @return mixed
85
  */
86
  public static function get_session_arr( $name, $default = array() ) {
@@ -88,6 +89,7 @@ class TInvWL_View {
88
  if ( empty( $data ) ) {
89
  return $default;
90
  }
 
91
  return $data;
92
  }
93
 
@@ -95,7 +97,7 @@ class TInvWL_View {
95
  * Set session message variable
96
  *
97
  * @param string $name Name message variable.
98
- * @param mixed $value Value.
99
  */
100
  public static function set_session_arr( $name, $value = array() ) {
101
  $_SESSION[ self::$_n . $name ] = $value; // @codingStandardsIgnoreLine WordPress.VIP.SessionVariableUsage.SessionVarsProhibited
@@ -104,12 +106,12 @@ class TInvWL_View {
104
  /**
105
  * Set error message
106
  *
107
- * @param string $msg Message.
108
  * @param integer $code Code.
109
  */
110
  public static function set_error( $msg = '', $code = 100 ) {
111
- $_errors = self::get_session_arr( '_errors' );
112
- $_errors[] = array( $code, $msg );
113
  self::set_session_arr( '_errors', $_errors );
114
  }
115
 
@@ -119,8 +121,8 @@ class TInvWL_View {
119
  * @param string $msg Message.
120
  */
121
  public static function set_tips( $msg = '' ) {
122
- $_tips = self::get_session_arr( '_tips' );
123
- $_tips[] = $msg;
124
  self::set_session_arr( '_tips', $_tips );
125
  }
126
 
@@ -128,13 +130,16 @@ class TInvWL_View {
128
  * Set redirect.
129
  *
130
  * @param string $url Url redirect.
 
131
  * @return boolean
132
  */
133
  public static function set_redirect( $url = '' ) {
134
  if ( filter_var( $url, FILTER_VALIDATE_URL ) ) {
135
  self::$_redirect = $url;
 
136
  return true;
137
  }
 
138
  return false;
139
  }
140
 
@@ -144,8 +149,8 @@ class TInvWL_View {
144
  * @param string $msg Message.
145
  */
146
  public static function set_attentions( $msg = '' ) {
147
- $_attentions = self::get_session_arr( '_attentions' );
148
- $_attentions[] = $msg;
149
  self::set_session_arr( '_tips', $_attentions );
150
  }
151
 
@@ -174,6 +179,7 @@ class TInvWL_View {
174
  return '';
175
  }
176
  $msg = array_pop( $msg );
 
177
  return self::_message( 'warning', $msg, __( 'Attention!', 'ti-woocommerce-wishlist' ) );
178
  }
179
 
@@ -189,6 +195,7 @@ class TInvWL_View {
189
  return '';
190
  }
191
  $msg = array_pop( $msg );
 
192
  return self::_message( 'error', $msg[1], sprintf( __( 'Errors(%s)', 'ti-woocommerce-wishlist' ), $msg[0] ) );
193
  }
194
 
@@ -203,7 +210,8 @@ class TInvWL_View {
203
  if ( 0 === count( $msg ) ) {
204
  return '';
205
  }
206
- $msg = array_pop( $msg );
 
207
  return self::_message( 'info', $msg, __( 'Usefil Tip', 'ti-woocommerce-wishlist' ) );
208
  }
209
 
@@ -213,6 +221,7 @@ class TInvWL_View {
213
  * @param string $_status Status for class.
214
  * @param string $_message Message text.
215
  * @param string $_header Header message.
 
216
  * @return boolean
217
  */
218
  private static function _message( $_status, $_message = '', $_header = '' ) {
@@ -220,6 +229,7 @@ class TInvWL_View {
220
  return false;
221
  }
222
  include self::file( 'message', '' );
 
223
  return true;
224
  }
225
 
@@ -228,6 +238,7 @@ class TInvWL_View {
228
  *
229
  * @param string $name Name file.
230
  * @param string $type Folder section.
 
231
  * @return boolean
232
  */
233
  private static function file( $name, $type = 'admin' ) {
@@ -235,12 +246,13 @@ class TInvWL_View {
235
  return self::file( 'null', '' );
236
  }
237
 
238
- $path = array( 'views', $type, $name );
239
- $path = implode( DIRECTORY_SEPARATOR, $path );
240
- $path = sprintf( '%s%s.php', TINVWL_PATH, strtolower( $path ) );
241
  if ( file_exists( $path ) ) {
242
  return $path;
243
  }
 
244
  return self::file( 'null', '' );
245
  }
246
 
@@ -248,7 +260,7 @@ class TInvWL_View {
248
  * Ajax templates
249
  *
250
  * @param string $_template_name If empty returned json array.
251
- * @param array $_data Parameter for template.
252
  * @param string $_type Folder section.
253
  */
254
  public static function ajax( $_template_name, $_data = array(), $_type = '' ) {
@@ -281,10 +293,10 @@ class TInvWL_View {
281
  * Create global template
282
  *
283
  * @param string $_template_name Name file.
284
- * @param array $_data Parameter for template.
285
  */
286
  public static function render( $_template_name, $_data = array() ) {
287
- $_data = apply_filters( 'tinv_view_general', $_data );
288
  self::init();
289
  $_header = empty( $_data['_header'] ) ? '' : $_data['_header'];
290
  $_footer = empty( $_data['_footer'] ) ? '' : $_data['_footer'];
@@ -333,8 +345,8 @@ class TInvWL_View {
333
  * @param name $_name Title for page.
334
  */
335
  public static function header( $_name = '' ) {
336
- $status_panel = self::status_panel();
337
- $status_panel = apply_filters( 'tinvwl_view_panelstatus', $status_panel );
338
  include self::file( 'header', '' );
339
  }
340
 
@@ -345,7 +357,7 @@ class TInvWL_View {
345
  */
346
  private static function status_panel() {
347
  return array(
348
- sprintf( '<a class="tinvwl-btn grey w-icon md-icon smaller-txt" href="%s"><i class="fa fa-graduation-cap"></i><span class="tinvwl-txt">%s</span></a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist?utm_source=wishlist_plugin_free&utm_campaign=read_documentation&utm_medium=header', __( 'read documentation', 'ti-woocommerce-wishlist' ) ),// @todo add link to Documentation
349
  );
350
  }
351
 
@@ -354,21 +366,22 @@ class TInvWL_View {
354
  *
355
  * @param string $page Page title.
356
  * @param string $cat Category title.
357
- * @param array $arg Arguments array.
 
358
  * @return string
359
  */
360
  public static function admin_url( $page, $cat = '', $arg = array() ) {
361
- $protocol = is_ssl() ? 'https' : 'http';
362
- $glue = '-';
363
- $params = array(
364
- 'page' => implode( $glue, array_filter( array( self::$_n, $page ) ) ),
365
- 'cat' => $cat,
366
  );
367
  if ( is_array( $arg ) ) {
368
  $params = array_merge( $params, $arg );
369
  }
370
- $params = array_filter( $params );
371
- $params = http_build_query( $params );
372
  if ( is_string( $arg ) ) {
373
  $params = $params . '&' . $arg;
374
  }
48
  * @param string $version Plugin version.
49
  */
50
  public static function _init( $plugin_name, $version ) {
51
+ self::$_n = $plugin_name;
52
+ self::$_v = $version;
53
  }
54
 
55
  /**
80
  * Get session message variable
81
  *
82
  * @param string $name Name message variable.
83
+ * @param mixed $default Default value.
84
+ *
85
  * @return mixed
86
  */
87
  public static function get_session_arr( $name, $default = array() ) {
89
  if ( empty( $data ) ) {
90
  return $default;
91
  }
92
+
93
  return $data;
94
  }
95
 
97
  * Set session message variable
98
  *
99
  * @param string $name Name message variable.
100
+ * @param mixed $value Value.
101
  */
102
  public static function set_session_arr( $name, $value = array() ) {
103
  $_SESSION[ self::$_n . $name ] = $value; // @codingStandardsIgnoreLine WordPress.VIP.SessionVariableUsage.SessionVarsProhibited
106
  /**
107
  * Set error message
108
  *
109
+ * @param string $msg Message.
110
  * @param integer $code Code.
111
  */
112
  public static function set_error( $msg = '', $code = 100 ) {
113
+ $_errors = self::get_session_arr( '_errors' );
114
+ $_errors[] = array( $code, $msg );
115
  self::set_session_arr( '_errors', $_errors );
116
  }
117
 
121
  * @param string $msg Message.
122
  */
123
  public static function set_tips( $msg = '' ) {
124
+ $_tips = self::get_session_arr( '_tips' );
125
+ $_tips[] = $msg;
126
  self::set_session_arr( '_tips', $_tips );
127
  }
128
 
130
  * Set redirect.
131
  *
132
  * @param string $url Url redirect.
133
+ *
134
  * @return boolean
135
  */
136
  public static function set_redirect( $url = '' ) {
137
  if ( filter_var( $url, FILTER_VALIDATE_URL ) ) {
138
  self::$_redirect = $url;
139
+
140
  return true;
141
  }
142
+
143
  return false;
144
  }
145
 
149
  * @param string $msg Message.
150
  */
151
  public static function set_attentions( $msg = '' ) {
152
+ $_attentions = self::get_session_arr( '_attentions' );
153
+ $_attentions[] = $msg;
154
  self::set_session_arr( '_tips', $_attentions );
155
  }
156
 
179
  return '';
180
  }
181
  $msg = array_pop( $msg );
182
+
183
  return self::_message( 'warning', $msg, __( 'Attention!', 'ti-woocommerce-wishlist' ) );
184
  }
185
 
195
  return '';
196
  }
197
  $msg = array_pop( $msg );
198
+
199
  return self::_message( 'error', $msg[1], sprintf( __( 'Errors(%s)', 'ti-woocommerce-wishlist' ), $msg[0] ) );
200
  }
201
 
210
  if ( 0 === count( $msg ) ) {
211
  return '';
212
  }
213
+ $msg = array_pop( $msg );
214
+
215
  return self::_message( 'info', $msg, __( 'Usefil Tip', 'ti-woocommerce-wishlist' ) );
216
  }
217
 
221
  * @param string $_status Status for class.
222
  * @param string $_message Message text.
223
  * @param string $_header Header message.
224
+ *
225
  * @return boolean
226
  */
227
  private static function _message( $_status, $_message = '', $_header = '' ) {
229
  return false;
230
  }
231
  include self::file( 'message', '' );
232
+
233
  return true;
234
  }
235
 
238
  *
239
  * @param string $name Name file.
240
  * @param string $type Folder section.
241
+ *
242
  * @return boolean
243
  */
244
  private static function file( $name, $type = 'admin' ) {
246
  return self::file( 'null', '' );
247
  }
248
 
249
+ $path = array( 'views', $type, $name );
250
+ $path = implode( DIRECTORY_SEPARATOR, $path );
251
+ $path = sprintf( '%s%s.php', TINVWL_PATH, strtolower( $path ) );
252
  if ( file_exists( $path ) ) {
253
  return $path;
254
  }
255
+
256
  return self::file( 'null', '' );
257
  }
258
 
260
  * Ajax templates
261
  *
262
  * @param string $_template_name If empty returned json array.
263
+ * @param array $_data Parameter for template.
264
  * @param string $_type Folder section.
265
  */
266
  public static function ajax( $_template_name, $_data = array(), $_type = '' ) {
293
  * Create global template
294
  *
295
  * @param string $_template_name Name file.
296
+ * @param array $_data Parameter for template.
297
  */
298
  public static function render( $_template_name, $_data = array() ) {
299
+ $_data = apply_filters( 'tinv_view_general', $_data );
300
  self::init();
301
  $_header = empty( $_data['_header'] ) ? '' : $_data['_header'];
302
  $_footer = empty( $_data['_footer'] ) ? '' : $_data['_footer'];
345
  * @param name $_name Title for page.
346
  */
347
  public static function header( $_name = '' ) {
348
+ $status_panel = self::status_panel();
349
+ $status_panel = apply_filters( 'tinvwl_view_panelstatus', $status_panel );
350
  include self::file( 'header', '' );
351
  }
352
 
357
  */
358
  private static function status_panel() {
359
  return array(
360
+ sprintf( '<a class="tinvwl-btn grey w-icon md-icon smaller-txt" href="%s"><i class="fa fa-graduation-cap"></i><span class="tinvwl-txt">%s</span></a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_MEDIUM . '&utm_content=header_documentation&partner=' . TINVWL_UTM_SOURCE, __( 'read documentation', 'ti-woocommerce-wishlist' ) ),
361
  );
362
  }
363
 
366
  *
367
  * @param string $page Page title.
368
  * @param string $cat Category title.
369
+ * @param array $arg Arguments array.
370
+ *
371
  * @return string
372
  */
373
  public static function admin_url( $page, $cat = '', $arg = array() ) {
374
+ $protocol = is_ssl() ? 'https' : 'http';
375
+ $glue = '-';
376
+ $params = array(
377
+ 'page' => implode( $glue, array_filter( array( self::$_n, $page ) ) ),
378
+ 'cat' => $cat,
379
  );
380
  if ( is_array( $arg ) ) {
381
  $params = array_merge( $params, $arg );
382
  }
383
+ $params = array_filter( $params );
384
+ $params = http_build_query( $params );
385
  if ( is_string( $arg ) ) {
386
  $params = $params . '&' . $arg;
387
  }
languages/ti-woocommerce-wishlist.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: WooCommerce Wishlist Plugin\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2017-04-24 21:46+0700\n"
7
  "POT-Revision-Date: Sun Apr 10 2016 12:21:06 GMT+0200 (Västeuropa, "
8
  "sommartid)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
@@ -666,7 +666,7 @@ msgstr ""
666
  #, php-format
667
  msgid ""
668
  "<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of "
669
- "date. The core version is %s"
670
  msgstr ""
671
 
672
  #: admin/tinvwl.class.php:248
@@ -680,7 +680,7 @@ msgid ""
680
  "the theme."
681
  msgstr ""
682
 
683
- #: admin/tinvwl.class.php:345
684
  #, php-format
685
  msgid ""
686
  "The \"Add to Wishlist\" button may work improperly in a product type \"%1$s"
@@ -753,32 +753,32 @@ msgstr ""
753
  msgid "Share your love with us."
754
  msgstr ""
755
 
756
- #: includes/tinvwl.class.php:125
757
  msgid "Settings"
758
  msgstr ""
759
 
760
- #: includes/tinvwl.class.php:126
761
  msgid "Premium Version"
762
  msgstr ""
763
 
764
- #: includes/tinvwl.class.php:127
765
  msgid "Live Demo"
766
  msgstr ""
767
 
768
- #: includes/view.helper.php:177
769
  msgid "Attention!"
770
  msgstr ""
771
 
772
- #: includes/view.helper.php:192
773
  #, php-format
774
  msgid "Errors(%s)"
775
  msgstr ""
776
 
777
- #: includes/view.helper.php:207
778
  msgid "Usefil Tip"
779
  msgstr ""
780
 
781
- #: includes/view.helper.php:348
782
  msgid "read documentation"
783
  msgstr ""
784
 
@@ -988,70 +988,70 @@ msgstr ""
988
  msgid "features"
989
  msgstr ""
990
 
991
- #: views/admin/premium-features.php:22
992
  msgid "explore premium features"
993
  msgstr ""
994
 
995
- #: views/admin/premium-features.php:27
996
  msgid "some of the premium features"
997
  msgstr ""
998
 
999
- #: views/admin/premium-features.php:29
1000
  msgid "Multi-Wishlist - allow customer to create wshlists."
1001
  msgstr ""
1002
 
1003
- #: views/admin/premium-features.php:30
1004
  msgid "Follow - customers can follow each others wishlists"
1005
  msgstr ""
1006
 
1007
- #: views/admin/premium-features.php:31
1008
  msgid "Advanced Processing Options"
1009
  msgstr ""
1010
 
1011
- #: views/admin/premium-features.php:32
1012
  msgid "Shortcodes & Widgets: Search, Recent Wishlists"
1013
  msgstr ""
1014
 
1015
- #: views/admin/premium-features.php:33
1016
  msgid "Allow to change product quantity in wishlist table"
1017
  msgstr ""
1018
 
1019
- #: views/admin/premium-features.php:34
1020
  msgid "Allow guests to create wishlists"
1021
  msgstr ""
1022
 
1023
- #: views/admin/premium-features.php:35
1024
  msgid "Wishlist button in catalog view"
1025
  msgstr ""
1026
 
1027
- #: views/admin/premium-features.php:36
1028
  msgid "Ask for an Estimate"
1029
  msgstr ""
1030
 
1031
- #: views/admin/premium-features.php:44
1032
  msgid "Dedicated Support"
1033
  msgstr ""
1034
 
1035
- #: views/admin/premium-features.php:45
1036
  msgid "Direct help from our qualified support team"
1037
  msgstr ""
1038
 
1039
- #: views/admin/premium-features.php:51
1040
  msgid "Live Updates"
1041
  msgstr ""
1042
 
1043
- #: views/admin/premium-features.php:52
1044
  msgid "Stay up to date with automatic updates"
1045
  msgstr ""
1046
 
1047
- #: views/admin/premium-features.php:56
1048
  msgid ""
1049
  "By purchasing the premium version of our plugin, you will not only take "
1050
  "advantage of the premium features but also get dedicated support and free "
1051
  "updates directly to your admin panel."
1052
  msgstr ""
1053
 
1054
- #: views/admin/premium-features.php:58
1055
  msgid "Get Support & Premium Features"
1056
  msgstr ""
1057
 
@@ -1097,25 +1097,25 @@ msgstr ""
1097
  msgid "WooCommerce Wishlist Plugin Settings"
1098
  msgstr ""
1099
 
1100
- #: views/wizard/finish.php:19
1101
  #, php-format
1102
  msgid ""
1103
  "Details about WooCommerce Wishlist Plugin options can be found in our %s."
1104
  msgstr ""
1105
 
1106
- #: views/wizard/finish.php:19
1107
  msgid "Online Documentation"
1108
  msgstr ""
1109
 
1110
- #: views/wizard/finish.php:23
1111
  msgid "Documentation"
1112
  msgstr ""
1113
 
1114
- #: views/wizard/finish.php:24
1115
  msgid "Wishlist Settings"
1116
  msgstr ""
1117
 
1118
- #: views/wizard/finish.php:26
1119
  msgid "Visit Template Invaders Website for more Products."
1120
  msgstr ""
1121
 
3
  msgstr ""
4
  "Project-Id-Version: WooCommerce Wishlist Plugin\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2017-04-28 00:03+0700\n"
7
  "POT-Revision-Date: Sun Apr 10 2016 12:21:06 GMT+0200 (Västeuropa, "
8
  "sommartid)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
666
  #, php-format
667
  msgid ""
668
  "<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of "
669
+ "date. The core version is <strong style=\"color:red\">%s</strong>"
670
  msgstr ""
671
 
672
  #: admin/tinvwl.class.php:248
680
  "the theme."
681
  msgstr ""
682
 
683
+ #: admin/tinvwl.class.php:364
684
  #, php-format
685
  msgid ""
686
  "The \"Add to Wishlist\" button may work improperly in a product type \"%1$s"
753
  msgid "Share your love with us."
754
  msgstr ""
755
 
756
+ #: includes/tinvwl.class.php:126
757
  msgid "Settings"
758
  msgstr ""
759
 
760
+ #: includes/tinvwl.class.php:127
761
  msgid "Premium Version"
762
  msgstr ""
763
 
764
+ #: includes/tinvwl.class.php:128
765
  msgid "Live Demo"
766
  msgstr ""
767
 
768
+ #: includes/view.helper.php:183
769
  msgid "Attention!"
770
  msgstr ""
771
 
772
+ #: includes/view.helper.php:199
773
  #, php-format
774
  msgid "Errors(%s)"
775
  msgstr ""
776
 
777
+ #: includes/view.helper.php:215
778
  msgid "Usefil Tip"
779
  msgstr ""
780
 
781
+ #: includes/view.helper.php:360
782
  msgid "read documentation"
783
  msgstr ""
784
 
988
  msgid "features"
989
  msgstr ""
990
 
991
+ #: views/admin/premium-features.php:23
992
  msgid "explore premium features"
993
  msgstr ""
994
 
995
+ #: views/admin/premium-features.php:28
996
  msgid "some of the premium features"
997
  msgstr ""
998
 
999
+ #: views/admin/premium-features.php:32
1000
  msgid "Multi-Wishlist - allow customer to create wshlists."
1001
  msgstr ""
1002
 
1003
+ #: views/admin/premium-features.php:36
1004
  msgid "Follow - customers can follow each others wishlists"
1005
  msgstr ""
1006
 
1007
+ #: views/admin/premium-features.php:40
1008
  msgid "Advanced Processing Options"
1009
  msgstr ""
1010
 
1011
+ #: views/admin/premium-features.php:44
1012
  msgid "Shortcodes & Widgets: Search, Recent Wishlists"
1013
  msgstr ""
1014
 
1015
+ #: views/admin/premium-features.php:48
1016
  msgid "Allow to change product quantity in wishlist table"
1017
  msgstr ""
1018
 
1019
+ #: views/admin/premium-features.php:52
1020
  msgid "Allow guests to create wishlists"
1021
  msgstr ""
1022
 
1023
+ #: views/admin/premium-features.php:56
1024
  msgid "Wishlist button in catalog view"
1025
  msgstr ""
1026
 
1027
+ #: views/admin/premium-features.php:60
1028
  msgid "Ask for an Estimate"
1029
  msgstr ""
1030
 
1031
+ #: views/admin/premium-features.php:69
1032
  msgid "Dedicated Support"
1033
  msgstr ""
1034
 
1035
+ #: views/admin/premium-features.php:71
1036
  msgid "Direct help from our qualified support team"
1037
  msgstr ""
1038
 
1039
+ #: views/admin/premium-features.php:77
1040
  msgid "Live Updates"
1041
  msgstr ""
1042
 
1043
+ #: views/admin/premium-features.php:79
1044
  msgid "Stay up to date with automatic updates"
1045
  msgstr ""
1046
 
1047
+ #: views/admin/premium-features.php:83
1048
  msgid ""
1049
  "By purchasing the premium version of our plugin, you will not only take "
1050
  "advantage of the premium features but also get dedicated support and free "
1051
  "updates directly to your admin panel."
1052
  msgstr ""
1053
 
1054
+ #: views/admin/premium-features.php:85
1055
  msgid "Get Support & Premium Features"
1056
  msgstr ""
1057
 
1097
  msgid "WooCommerce Wishlist Plugin Settings"
1098
  msgstr ""
1099
 
1100
+ #: views/wizard/finish.php:20
1101
  #, php-format
1102
  msgid ""
1103
  "Details about WooCommerce Wishlist Plugin options can be found in our %s."
1104
  msgstr ""
1105
 
1106
+ #: views/wizard/finish.php:20
1107
  msgid "Online Documentation"
1108
  msgstr ""
1109
 
1110
+ #: views/wizard/finish.php:25
1111
  msgid "Documentation"
1112
  msgstr ""
1113
 
1114
+ #: views/wizard/finish.php:27
1115
  msgid "Wishlist Settings"
1116
  msgstr ""
1117
 
1118
+ #: views/wizard/finish.php:30
1119
  msgid "Visit Template Invaders Website for more Products."
1120
  msgstr ""
1121
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://templateinvaders.com/?utm_source=wordpressorg&utm_content=d
4
  Tags: wishlist, woocommerce, products, e-commerce, shop, ecommerce wishlist, woocommerce wishlist, woocommerce , shop wishlist, wishlist for Woocommerce
5
  Requires at least: 4.5
6
  Tested up to: 4.7.4
7
- Stable tag: 1.3.1
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -126,6 +126,12 @@ If you get stuck, you can ask for help in the [Plugin Forum](https://wordpress.o
126
 
127
  == Changelog ==
128
 
 
 
 
 
 
 
129
  = 1.3.1 =
130
  *Release Date - 26 April 2017*
131
 
4
  Tags: wishlist, woocommerce, products, e-commerce, shop, ecommerce wishlist, woocommerce wishlist, woocommerce , shop wishlist, wishlist for Woocommerce
5
  Requires at least: 4.5
6
  Tested up to: 4.7.4
7
+ Stable tag: 1.3.2
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
126
 
127
  == Changelog ==
128
 
129
+ = 1.3.2 =
130
+ *Release Date - 27 April 2017*
131
+
132
+ * Fixed extra redirect to Setup Wizard
133
+ * Improved theme compatibility tests performance
134
+
135
  = 1.3.1 =
136
  *Release Date - 26 April 2017*
137
 
ti-woocommerce-wishlist.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin Name: WooCommerce Wishlist Plugin
6
  * Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
7
  * Description: Wishlist functionality for your WooCommerce store.
8
- * Version: 1.3.1
9
  * Author: TemplateInvaders
10
  * Author URI: https://templateinvaders.com/
11
  * License: GPL-2.0+
@@ -37,7 +37,7 @@ if ( ! defined( 'TINVWL_DOMAIN' ) ) {
37
  }
38
 
39
  if ( ! defined( 'TINVWL_FVERSION' ) ) {
40
- define( 'TINVWL_FVERSION', '1.3.1' );
41
  }
42
 
43
  if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {
5
  * Plugin Name: WooCommerce Wishlist Plugin
6
  * Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
7
  * Description: Wishlist functionality for your WooCommerce store.
8
+ * Version: 1.3.2
9
  * Author: TemplateInvaders
10
  * Author URI: https://templateinvaders.com/
11
  * License: GPL-2.0+
37
  }
38
 
39
  if ( ! defined( 'TINVWL_FVERSION' ) ) {
40
+ define( 'TINVWL_FVERSION', '1.3.2' );
41
  }
42
 
43
  if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {
tinv-wishlists-function.php CHANGED
@@ -929,7 +929,7 @@ if ( ! function_exists( 'tinvwl_fs' ) ) {
929
  'has_paid_plans' => false,
930
  'menu' => array(
931
  'slug' => 'tinvwl',
932
- 'first-path' => 'admin.php?page=tinvwl-wizard',
933
  'account' => false,
934
  'support' => false,
935
  ),
@@ -1013,3 +1013,40 @@ if ( ! function_exists( 'tinvwl_rating_notice_trigger_30' ) ) {
1013
  return $step;
1014
  }
1015
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
929
  'has_paid_plans' => false,
930
  'menu' => array(
931
  'slug' => 'tinvwl',
932
+ 'first-path' => 'admin.php?page=tinvwl' . ( get_option( TINVWL_PREFIX . '_wizard' ) ? '' : '-wizard' ),
933
  'account' => false,
934
  'support' => false,
935
  ),
1013
  return $step;
1014
  }
1015
  }
1016
+
1017
+ if ( ! function_exists( 'tinvwl_set_utm' ) ) {
1018
+
1019
+ /**
1020
+ * Set UTM sources.
1021
+ *
1022
+ */
1023
+ function tinvwl_set_utm() {
1024
+
1025
+ //Set a source.
1026
+ $source = get_option( TINVWL_PREFIX . '_utm_source' );
1027
+ if ( ! $source ) {
1028
+ $source = defined( 'TINVWL_PARTNER' ) ? TINVWL_PARTNER : 'wordpress_org';
1029
+ update_option( TINVWL_PREFIX . '_utm_source', $source );
1030
+ }
1031
+
1032
+ define( 'TINVWL_UTM_SOURCE', $source );
1033
+
1034
+ //Set a medium.
1035
+ $medium = get_option( TINVWL_PREFIX . '_utm_medium' );
1036
+ if ( ! $medium ) {
1037
+ $medium = defined( 'TINVWL_PARTNER' ) ? 'integration' : 'organic';
1038
+ update_option( TINVWL_PREFIX . '_utm_medium', $medium );
1039
+ }
1040
+
1041
+ define( 'TINVWL_UTM_MEDIUM', $medium );
1042
+
1043
+ //Set a campaign.
1044
+ $campaign = get_option( TINVWL_PREFIX . '_utm_campaign' );
1045
+ if ( ! $campaign ) {
1046
+ $campaign = defined( 'TINVWL_PARTNER' ) ? ( defined( 'TINVWL_CAMPAIGN' ) ? TINVWL_CAMPAIGN : TINVWL_PARTNER ) : 'organic';
1047
+ update_option( TINVWL_PREFIX . '_utm_campaign', $campaign );
1048
+ }
1049
+
1050
+ define( 'TINVWL_UTM_CAMPAIGN', $campaign );
1051
+ }
1052
+ }
views/admin/premium-features.php CHANGED
@@ -16,24 +16,49 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  <div class="row">
17
  <div class="tinvwl-pic-col col-lg-4">
18
  <div class="tinvwl-feat-col-inner">
19
- <h3><?php esc_html_e( 'benefit from all the', 'ti-woocommerce-wishlist' )?></h3>
20
- <h2><?php esc_html_e( 'features', 'ti-woocommerce-wishlist' )?></h2>
21
  <i class="premium_adv"></i>
22
- <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=explore_premium_features&utm_medium=premium_features" class="tinvwl-btn red round"><?php esc_html_e( 'explore premium features', 'ti-woocommerce-wishlist' )?></a>
 
23
  </div>
24
  </div>
25
  <div class="tinvwl-feat-col col-lg-4">
26
  <div class="tinvwl-feat-col-inner w-bg-grey">
27
- <h3><?php esc_html_e( 'some of the premium features', 'ti-woocommerce-wishlist' )?></h3>
28
  <ul class="tinvwl-features">
29
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=multiple_wishlists&utm_medium=premium_features#manage"><i class="fa fa-check"></i><span><?php esc_html_e( 'Multi-Wishlist - allow customer to create wshlists.', 'ti-woocommerce-wishlist' )?></span></a></li>
30
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=follow_wishlist&utm_medium=premium_features#follow"><i class="fa fa-check"></i><span><?php esc_html_e( 'Follow - customers can follow each others wishlists', 'ti-woocommerce-wishlist' )?></span></a></li>
31
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=advanced_options&utm_medium=premium_features#other"><i class="fa fa-check"></i><span><?php esc_html_e( 'Advanced Processing Options', 'ti-woocommerce-wishlist' )?></span></a></li>
32
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/#shortcodes"><i class="fa fa-check"></i><span><?php esc_html_e( 'Shortcodes & Widgets: Search, Recent Wishlists', 'ti-woocommerce-wishlist' )?></span></a></li>
33
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=change_quantity&utm_medium=premium_features#manage"><i class="fa fa-check"></i><span><?php esc_html_e( 'Allow to change product quantity in wishlist table', 'ti-woocommerce-wishlist' )?></span></a></li>
34
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=guests_wishlists&utm_medium=premium_features#login"><i class="fa fa-check"></i><span><?php esc_html_e( 'Allow guests to create wishlists', 'ti-woocommerce-wishlist' )?></span></a></li>
35
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=catalog_button&utm_medium=premium_features#button"><i class="fa fa-check"></i><span><?php esc_html_e( 'Wishlist button in catalog view', 'ti-woocommerce-wishlist' )?></span></a></li>
36
- <li><a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=ask_for_estimate&utm_medium=premium_features#emails"><i class="fa fa-check"></i><span><?php esc_html_e( 'Ask for an Estimate', 'ti-woocommerce-wishlist' )?></span></a></li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  </ul>
38
  </div>
39
  </div>
@@ -41,21 +66,23 @@ if ( ! defined( 'ABSPATH' ) ) {
41
  <div class="tinvwl-feat-col-inner">
42
  <div class="tinvwl-img-w-desc tinvwl-table auto-width"><i class="admin-rescue"></i>
43
  <div class="tinvwl-cell">
44
- <h5><?php esc_html_e( 'Dedicated Support', 'ti-woocommerce-wishlist' )?></h5>
45
- <div class="tinvwl-desc"><?php esc_html_e( 'Direct help from our qualified support team', 'ti-woocommerce-wishlist' )?></div>
 
46
  </div>
47
  </div>
48
 
49
  <div class="tinvwl-img-w-desc tinvwl-table auto-width"><i class="admin-update"></i>
50
  <div class="tinvwl-cell">
51
- <h5><?php esc_html_e( 'Live Updates', 'ti-woocommerce-wishlist' )?></h5>
52
- <div class="tinvwl-desc"><?php esc_html_e( 'Stay up to date with automatic updates', 'ti-woocommerce-wishlist' )?></div>
 
53
  </div>
54
  </div>
55
  <div class="tinvwl-desc">
56
- <?php esc_html_e( 'By purchasing the premium version of our plugin, you will not only take advantage of the premium features but also get dedicated support and free updates directly to your admin panel.', 'ti-woocommerce-wishlist' )?>
57
  <div class="tinv-wishlist-clear"></div>
58
- <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=get_support_and_premium_features&utm_medium=premium_features"><?php esc_html_e( 'Get Support & Premium Features', 'ti-woocommerce-wishlist' )?></a>
59
  </div>
60
  </div>
61
  </div>
16
  <div class="row">
17
  <div class="tinvwl-pic-col col-lg-4">
18
  <div class="tinvwl-feat-col-inner">
19
+ <h3><?php esc_html_e( 'benefit from all the', 'ti-woocommerce-wishlist' ) ?></h3>
20
+ <h2><?php esc_html_e( 'features', 'ti-woocommerce-wishlist' ) ?></h2>
21
  <i class="premium_adv"></i>
22
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_explore&partner=<?php echo TINVWL_UTM_SOURCE; ?>"
23
+ class="tinvwl-btn red round"><?php esc_html_e( 'explore premium features', 'ti-woocommerce-wishlist' ) ?></a>
24
  </div>
25
  </div>
26
  <div class="tinvwl-feat-col col-lg-4">
27
  <div class="tinvwl-feat-col-inner w-bg-grey">
28
+ <h3><?php esc_html_e( 'some of the premium features', 'ti-woocommerce-wishlist' ) ?></h3>
29
  <ul class="tinvwl-features">
30
+ <li>
31
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#manage"><i
32
+ class="fa fa-check"></i><span><?php esc_html_e( 'Multi-Wishlist - allow customer to create wshlists.', 'ti-woocommerce-wishlist' ) ?></span></a>
33
+ </li>
34
+ <li>
35
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#follow"><i
36
+ class="fa fa-check"></i><span><?php esc_html_e( 'Follow - customers can follow each others wishlists', 'ti-woocommerce-wishlist' ) ?></span></a>
37
+ </li>
38
+ <li>
39
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#other"><i
40
+ class="fa fa-check"></i><span><?php esc_html_e( 'Advanced Processing Options', 'ti-woocommerce-wishlist' ) ?></span></a>
41
+ </li>
42
+ <li>
43
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#shortcodes"><i
44
+ class="fa fa-check"></i><span><?php esc_html_e( 'Shortcodes & Widgets: Search, Recent Wishlists', 'ti-woocommerce-wishlist' ) ?></span></a>
45
+ </li>
46
+ <li>
47
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#manage"><i
48
+ class="fa fa-check"></i><span><?php esc_html_e( 'Allow to change product quantity in wishlist table', 'ti-woocommerce-wishlist' ) ?></span></a>
49
+ </li>
50
+ <li>
51
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#login"><i
52
+ class="fa fa-check"></i><span><?php esc_html_e( 'Allow guests to create wishlists', 'ti-woocommerce-wishlist' ) ?></span></a>
53
+ </li>
54
+ <li>
55
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#button"><i
56
+ class="fa fa-check"></i><span><?php esc_html_e( 'Wishlist button in catalog view', 'ti-woocommerce-wishlist' ) ?></span></a>
57
+ </li>
58
+ <li>
59
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>#emails"><i
60
+ class="fa fa-check"></i><span><?php esc_html_e( 'Ask for an Estimate', 'ti-woocommerce-wishlist' ) ?></span></a>
61
+ </li>
62
  </ul>
63
  </div>
64
  </div>
66
  <div class="tinvwl-feat-col-inner">
67
  <div class="tinvwl-img-w-desc tinvwl-table auto-width"><i class="admin-rescue"></i>
68
  <div class="tinvwl-cell">
69
+ <h5><?php esc_html_e( 'Dedicated Support', 'ti-woocommerce-wishlist' ) ?></h5>
70
+ <div
71
+ class="tinvwl-desc"><?php esc_html_e( 'Direct help from our qualified support team', 'ti-woocommerce-wishlist' ) ?></div>
72
  </div>
73
  </div>
74
 
75
  <div class="tinvwl-img-w-desc tinvwl-table auto-width"><i class="admin-update"></i>
76
  <div class="tinvwl-cell">
77
+ <h5><?php esc_html_e( 'Live Updates', 'ti-woocommerce-wishlist' ) ?></h5>
78
+ <div
79
+ class="tinvwl-desc"><?php esc_html_e( 'Stay up to date with automatic updates', 'ti-woocommerce-wishlist' ) ?></div>
80
  </div>
81
  </div>
82
  <div class="tinvwl-desc">
83
+ <?php esc_html_e( 'By purchasing the premium version of our plugin, you will not only take advantage of the premium features but also get dedicated support and free updates directly to your admin panel.', 'ti-woocommerce-wishlist' ) ?>
84
  <div class="tinv-wishlist-clear"></div>
85
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=premium_features&partner=<?php echo TINVWL_UTM_SOURCE; ?>"><?php esc_html_e( 'Get Support & Premium Features', 'ti-woocommerce-wishlist' ) ?></a>
86
  </div>
87
  </div>
88
  </div>
views/admin/upgrade.php CHANGED
@@ -13,10 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  ?>
14
  <section class="tinvwl-panel w-shadow w-bg">
15
  <div class="container-fluid">
16
- <div class="row" >
17
- <div style="text-align: center; padding:10px 25px;">
18
- <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=wishlist_plugin_free&utm_campaign=upgrade_to_pro&utm_medium=upgrade_page" ><img src="<?php echo esc_attr( TINVWL_URL . 'asset/img/upgrade_to_pro.jpg' ); ?>" ></a>
19
- </div>
20
- </div>
 
21
  </div>
22
  </section>
13
  ?>
14
  <section class="tinvwl-panel w-shadow w-bg">
15
  <div class="container-fluid">
16
+ <div class="row">
17
+ <div style="text-align: center; padding:10px 25px;">
18
+ <a href="https://templateinvaders.com/product/ti-woocommerce-wishlist-wordpress-plugin/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=upgrade&partner=<?php echo TINVWL_UTM_SOURCE; ?>"><img
19
+ src="<?php echo esc_attr( TINVWL_URL . 'asset/img/upgrade_to_pro.jpg' ); ?>"></a>
20
+ </div>
21
+ </div>
22
  </div>
23
  </section>
views/wizard/finish.php CHANGED
@@ -15,13 +15,17 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  <h2 class="tinvwl-sub-title"><?php esc_html_e( 'Congratulations', 'ti-woocommerce-wishlist' ); ?></h2>
16
  <h1 class="tinvwl-title"><?php esc_html_e( 'Your Wishlist is ready!', 'ti-woocommerce-wishlist' ); ?></h1>
17
  <div class="tinvwl-desc">
18
- <?php printf( esc_html__( 'You have set basic Wishlist settings. If you want to make more in-depth plugin setup you can make it in plugin settings page %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', esc_url( self::admin_url( '' ) ), esc_html__( 'WooCommerce Wishlist Plugin Settings', 'ti-woocommerce-wishlist' ) ) ); // WPCS: xss ok. ?><br/>
19
- <?php printf( esc_html__( 'Details about WooCommerce Wishlist Plugin options can be found in our %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist?utm_source=wishlist_plugin_free&utm_campaign=online_documentation&utm_medium=wizard&utm_content=donate', esc_html__( 'Online Documentation', 'ti-woocommerce-wishlist' ) ) );
 
20
  ?>
21
  </div>
22
- <a class="tinvwl-btn grey w-icon xl-icon round" href="<?php echo 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist?utm_source=wishlist_plugin_free&utm_campaign=documentation&utm_medium=wizard&utm_content=donate';
23
- ?>"><i class="fa fa-graduation-cap"></i><?php esc_html_e( 'Documentation', 'ti-woocommerce-wishlist' ); ?></a>
24
- <a class="tinvwl-btn grey w-icon xl-icon round" href="<?php echo esc_url( self::admin_url( '' ) ); ?>"><i class="fa fa-wrench"></i><?php esc_html_e( 'Wishlist Settings', 'ti-woocommerce-wishlist' ); ?></a>
 
 
25
  <div class="tinv-wishlist-clear"></div>
26
- <a class="tinvwl-more" href="https://templateinvaders.com/?utm_source=wishlist_plugin_free&utm_campaign=more_products&utm_medium=wizard&utm_content=donate" ><?php esc_html_e( 'Visit Template Invaders Website for more Products.', 'ti-woocommerce-wishlist' ) ?></a>
 
27
  </div>
15
  <h2 class="tinvwl-sub-title"><?php esc_html_e( 'Congratulations', 'ti-woocommerce-wishlist' ); ?></h2>
16
  <h1 class="tinvwl-title"><?php esc_html_e( 'Your Wishlist is ready!', 'ti-woocommerce-wishlist' ); ?></h1>
17
  <div class="tinvwl-desc">
18
+ <?php printf( esc_html__( 'You have set basic Wishlist settings. If you want to make more in-depth plugin setup you can make it in plugin settings page %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', esc_url( self::admin_url( '' ) ), esc_html__( 'WooCommerce Wishlist Plugin Settings', 'ti-woocommerce-wishlist' ) ) ); // WPCS: xss ok. ?>
19
+ <br/>
20
+ <?php printf( esc_html__( 'Details about WooCommerce Wishlist Plugin options can be found in our %s.', 'ti-woocommerce-wishlist' ), sprintf( '<a target="_blank" href="%s">%s</a>', 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist/?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_SOURCE . '&utm_content=wizard_documentation&partner=' . TINVWL_UTM_SOURCE, esc_html__( 'Online Documentation', 'ti-woocommerce-wishlist' ) ) );
21
  ?>
22
  </div>
23
+ <a class="tinvwl-btn grey w-icon xl-icon round"
24
+ href="<?php echo 'https://templateinvaders.com/documentation/ti-woocommerce-wishlist/?utm_source=' . TINVWL_UTM_SOURCE . '&utm_campaign=' . TINVWL_UTM_CAMPAIGN . '&utm_medium=' . TINVWL_UTM_SOURCE . '&utm_content=wizard_documentation&partner=' . TINVWL_UTM_SOURCE;
25
+ ?>"><i class="fa fa-graduation-cap"></i><?php esc_html_e( 'Documentation', 'ti-woocommerce-wishlist' ); ?></a>
26
+ <a class="tinvwl-btn grey w-icon xl-icon round" href="<?php echo esc_url( self::admin_url( '' ) ); ?>"><i
27
+ class="fa fa-wrench"></i><?php esc_html_e( 'Wishlist Settings', 'ti-woocommerce-wishlist' ); ?></a>
28
  <div class="tinv-wishlist-clear"></div>
29
+ <a class="tinvwl-more"
30
+ href="https://templateinvaders.com/?utm_source=<?php echo TINVWL_UTM_SOURCE; ?>&utm_campaign=<?php echo TINVWL_UTM_CAMPAIGN; ?>&utm_medium=<?php echo TINVWL_UTM_MEDIUM; ?>&utm_content=wizard_more_product&partner=<?php echo TINVWL_UTM_SOURCE; ?>"><?php esc_html_e( 'Visit Template Invaders Website for more Products.', 'ti-woocommerce-wishlist' ) ?></a>
31
  </div>