YITH WooCommerce Compare - Version 2.3.3

Version Description

Released on Sep 20, 2018

  • Fix: Compatibility issue with WPML and RTL languages.
Download this release

Release Info

Developer yithemes
Plugin Icon 128x128 YITH WooCommerce Compare
Version 2.3.3
Comparing to
See all releases

Code changes from version 2.3.2 to 2.3.3

README.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
4
Tags: woocommerce compare, compare products, product compare, product comparison, compare table
5
Requires at least: 3.5.1
6
Tested up to: 4.9
7
- Stable tag: 2.3.2
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
@@ -66,6 +66,10 @@ yith-woocommerce-compare-<WORDPRESS LOCALE >.mo
66
67
== Changelog ==
68
69
= 2.3.2 = Released on Sep 10, 2018
70
71
* New: Support to WooCommerce 3.4.5.
@@ -292,12 +296,6 @@ Full documentation is available [here](http://yithemes.com/docs-plugins/yith-woo
292
293
== Upgrade notice ==
294
295
- = 2.3.2 = Released on Sep 10, 2018
296
297
- * New: Support to WooCommerce 3.4.5.
298
- * New: Support to WordPress 4.9.8.
299
- * Update: Plugin Core.
300
- * Update: All external scripts to latest available version.
301
- * Update: Compare table template (compare.php) to version 2.3.2.
302
- * Update: Compare table style.
303
- * Fix: Check product status before add it to compare list.
4
Tags: woocommerce compare, compare products, product compare, product comparison, compare table
5
Requires at least: 3.5.1
6
Tested up to: 4.9
7
+ Stable tag: 2.3.3
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
66
67
== Changelog ==
68
69
+ = 2.3.3 = Released on Sep 20, 2018
70
+
71
+ * Fix: Compatibility issue with WPML and RTL languages.
72
+
73
= 2.3.2 = Released on Sep 10, 2018
74
75
* New: Support to WooCommerce 3.4.5.
296
297
== Upgrade notice ==
298
299
+ = 2.3.3 = Released on Sep 20, 2018
300
301
+ * Fix: Compatibility issue with WPML and RTL languages.
assets/images/12-bg.png ADDED
Binary file
assets/images/12-icon.png ADDED
Binary file
assets/images/12.png ADDED
Binary file
includes/class.yith-woocompare-frontend.php CHANGED
@@ -104,14 +104,10 @@ if( !class_exists( 'YITH_Woocompare_Frontend' ) ) {
104
*/
105
public function __construct() {
106
107
- // set coookiename
108
- if ( is_multisite() ) $this->cookie_name .= '_' . get_current_blog_id();
109
110
add_action( 'init', array( $this, 'populate_products_list' ), 10 );
111
112
- // populate default fields for the comparison table
113
- $this->default_fields = YITH_Woocompare_Helper::standard_fields();
114
-
115
// Add link or button in the products list or
116
if ( get_option('yith_woocompare_compare_button_in_product_page') == 'yes' ) add_action( 'woocommerce_single_product_summary', array( $this, 'add_compare_link' ), 35 );
117
if ( get_option('yith_woocompare_compare_button_in_products_list') == 'yes' ) add_action( 'woocommerce_after_shop_loop_item', array( $this, 'add_compare_link' ), 20 );
@@ -142,6 +138,28 @@ if( !class_exists( 'YITH_Woocompare_Frontend' ) ) {
142
return $this;
143
}
144
145
/**
146
* Populate the compare product list
147
*/
104
*/
105
public function __construct() {
106
107
108
+ add_action( 'init', array( $this, 'init_variables' ), 1 );
109
add_action( 'init', array( $this, 'populate_products_list' ), 10 );
110
111
// Add link or button in the products list or
112
if ( get_option('yith_woocompare_compare_button_in_product_page') == 'yes' ) add_action( 'woocommerce_single_product_summary', array( $this, 'add_compare_link' ), 35 );
113
if ( get_option('yith_woocompare_compare_button_in_products_list') == 'yes' ) add_action( 'woocommerce_after_shop_loop_item', array( $this, 'add_compare_link' ), 20 );
138
return $this;
139
}
140
141
+ /**
142
+ * Init class variables
143
+ *
144
+ * @since 2.3.4
145
+ * @author Francesco Licandro
146
+ */
147
+ public function init_variables(){
148
+ global $sitepress;
149
+
150
+ $lang = isset( $_REQUEST['lang'] ) ? $_REQUEST['lang'] : false;
151
+
152
+ if( defined( 'ICL_LANGUAGE_CODE' ) && $lang && isset( $sitepress ) ) {
153
+ $sitepress->switch_lang( $lang, true );
154
+ }
155
+
156
+ // set coookiename
157
+ if ( is_multisite() ) $this->cookie_name .= '_' . get_current_blog_id();
158
+
159
+ // populate default fields for the comparison table
160
+ $this->default_fields = YITH_Woocompare_Helper::standard_fields();
161
+ }
162
+
163
/**
164
* Populate the compare product list
165
*/
includes/class.yith-woocompare-helper.php CHANGED
@@ -42,15 +42,6 @@ if( !class_exists( 'YITH_Woocompare_Helper' ) ) {
42
*/
43
public static function standard_fields( $with_attr = true ) {
44
45
- global $sitepress;
46
-
47
- $lang = isset( $_REQUEST['lang'] ) ? $_REQUEST['lang'] : false;
48
-
49
- if( defined( 'ICL_LANGUAGE_CODE' ) && $lang && isset( $sitepress ) ) {
50
- $sitepress->switch_lang( $lang, true );
51
- }
52
-
53
-
54
$fields = array(
55
'image' => __( 'Image', 'yith-woocommerce-compare' ),
56
'title' => __( 'Title', 'yith-woocommerce-compare' ),
42
*/
43
public static function standard_fields( $with_attr = true ) {
44
45
$fields = array(
46
'image' => __( 'Image', 'yith-woocommerce-compare' ),
47
'title' => __( 'Title', 'yith-woocommerce-compare' ),
init.php CHANGED
@@ -2,8 +2,8 @@
2
/**
3
* Plugin Name: YITH WooCommerce Compare
4
* Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-compare/
5
- * Description: The <code><strong>YITH WooCommerce Compare</strong></code> plugin allow you to compare in a simple and efficient way products on sale in your shop and analyse their main features in a single table. <a href="https://yithemes.com/" target="_blank">Find new awesome plugins on <strong>YITH</strong></a>.
6
- * Version: 2.3.2
7
* Author: YITHEMES
8
* Author URI: https://yithemes.com/
9
* Text Domain: yith-woocommerce-compare
@@ -13,7 +13,7 @@
13
*
14
* @author Yithemes
15
* @package YITH WooCommerce Compare
16
- * @version 2.3.2
17
*/
18
/* Copyright 2013 Your Inspiration Themes (email : plugins@yithemes.com)
19
@@ -58,7 +58,7 @@ if ( ! function_exists( 'yith_plugin_registration_hook' ) ) {
58
register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
59
60
if ( ! defined( 'YITH_WOOCOMPARE_VERSION' ) ){
61
- define( 'YITH_WOOCOMPARE_VERSION', '2.3.2' );
62
}
63
if ( ! defined( 'YITH_WOOCOMPARE_FREE_INIT' ) ) {
64
define( 'YITH_WOOCOMPARE_FREE_INIT', plugin_basename( __FILE__ ) );
2
/**
3
* Plugin Name: YITH WooCommerce Compare
4
* Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-compare/
5
+ * Description: The <code><strong>YITH WooCommerce Compare</strong></code> plugin allows you to compare in a simple and efficient way products on sale in your shop and compare their main features in a single table. <a href="https://yithemes.com/" target="_blank">Find new awesome plugins on <strong>YITH</strong></a>.
6
+ * Version: 2.3.3
7
* Author: YITHEMES
8
* Author URI: https://yithemes.com/
9
* Text Domain: yith-woocommerce-compare
13
*
14
* @author Yithemes
15
* @package YITH WooCommerce Compare
16
+ * @version 2.3.3
17
*/
18
/* Copyright 2013 Your Inspiration Themes (email : plugins@yithemes.com)
19
58
register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
59
60
if ( ! defined( 'YITH_WOOCOMPARE_VERSION' ) ){
61
+ define( 'YITH_WOOCOMPARE_VERSION', '2.3.3' );
62
}
63
if ( ! defined( 'YITH_WOOCOMPARE_FREE_INIT' ) ) {
64
define( 'YITH_WOOCOMPARE_FREE_INIT', plugin_basename( __FILE__ ) );
plugin-fw/init.php CHANGED
@@ -1,13 +1,13 @@
1
<?php
2
/**
3
* Framework Name: YIT Plugin Framework
4
- * Version: 3.0.21
5
* Author: YITHEMES
6
* Text Domain: yith-plugin-fw
7
* Domain Path: /languages/
8
*
9
* @author Your Inspiration Themes
10
- * @version 3.0.20
11
*/
12
/**
13
* This file belongs to the YIT Plugin Framework.
1
<?php
2
/**
3
* Framework Name: YIT Plugin Framework
4
+ * Version: 3.0.22
5
* Author: YITHEMES
6
* Text Domain: yith-plugin-fw
7
* Domain Path: /languages/
8
*
9
* @author Your Inspiration Themes
10
+ * @version 3.0.22
11
*/
12
/**
13
* This file belongs to the YIT Plugin Framework.
plugin-fw/lib/yit-plugin-panel-wc.php CHANGED
@@ -59,9 +59,11 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
59
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
60
*/
61
public function __construct( $args = array() ) {
62
-
63
$args = apply_filters( 'yit_plugin_fw_wc_panel_option_args', $args );
64
if ( !empty( $args ) ) {
65
$this->settings = $args;
66
$this->_tabs_path_files = $this->get_tabs_path_files();
67
@@ -176,7 +178,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
176
* @param $screen_ids
177
*
178
* @return mixed
179
- * @since 1.0.0
180
* @author Antonino Scarfì <antonino.scarfi@yithemes.com>
181
*/
182
public function add_allowed_screen_id( $screen_ids ) {
@@ -323,7 +325,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
323
do_action( 'yit_panel_wc_after_update' );
324
325
} elseif ( isset( $_REQUEST[ 'yit-action' ] ) && $_REQUEST[ 'yit-action' ] == 'wc-options-reset'
326
- && isset( $_POST[ 'yith_wc_reset_options_nonce' ] ) && wp_verify_nonce( $_POST[ 'yith_wc_reset_options_nonce' ], 'yith_wc_reset_options_' . $this->settings[ 'page' ] )
327
) {
328
329
do_action( 'yit_panel_wc_before_reset' );
@@ -404,7 +406,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
404
*
405
* @access public
406
* @return void
407
- * @since 1.0.0
408
*/
409
public function set_default_options() {
410
// check if the default options for this panel are already set
@@ -450,7 +452,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
450
* Add the woocommerce body class in plugin panel page
451
*
452
* @author Andrea Grillo <andrea.grillo@yithemes.com>
453
- * @since 2.0
454
*
455
* @param $classes The body classes
456
*
@@ -474,7 +476,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
474
*
475
* @return mixed Filtered return value
476
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
477
- * @since 2.0
478
*/
479
public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
480
@@ -506,7 +508,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
506
*
507
* @return mixed Filtered return value
508
* @author Leanza Francesco <leanzafrancesco@gmail.com>
509
- * @since 3.0.0
510
*/
511
public static function sanitize_option( $value, $option, $raw_value ) {
512
if ( isset( $option[ 'type' ] ) && 'yith-field' === $option[ 'type' ] ) {
59
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
60
*/
61
public function __construct( $args = array() ) {
62
$args = apply_filters( 'yit_plugin_fw_wc_panel_option_args', $args );
63
if ( !empty( $args ) ) {
64
+ if ( isset( $args[ 'parent_page' ] ) && 'yit_plugin_panel' === $args[ 'parent_page' ] )
65
+ $args[ 'parent_page' ] = 'yith_plugin_panel';
66
+
67
$this->settings = $args;
68
$this->_tabs_path_files = $this->get_tabs_path_files();
69
178
* @param $screen_ids
179
*
180
* @return mixed
181
+ * @since 1.0.0
182
* @author Antonino Scarfì <antonino.scarfi@yithemes.com>
183
*/
184
public function add_allowed_screen_id( $screen_ids ) {
325
do_action( 'yit_panel_wc_after_update' );
326
327
} elseif ( isset( $_REQUEST[ 'yit-action' ] ) && $_REQUEST[ 'yit-action' ] == 'wc-options-reset'
328
+ && isset( $_POST[ 'yith_wc_reset_options_nonce' ] ) && wp_verify_nonce( $_POST[ 'yith_wc_reset_options_nonce' ], 'yith_wc_reset_options_' . $this->settings[ 'page' ] )
329
) {
330
331
do_action( 'yit_panel_wc_before_reset' );
406
*
407
* @access public
408
* @return void
409
+ * @since 1.0.0
410
*/
411
public function set_default_options() {
412
// check if the default options for this panel are already set
452
* Add the woocommerce body class in plugin panel page
453
*
454
* @author Andrea Grillo <andrea.grillo@yithemes.com>
455
+ * @since 2.0
456
*
457
* @param $classes The body classes
458
*
476
*
477
* @return mixed Filtered return value
478
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
479
+ * @since 2.0
480
*/
481
public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
482
508
*
509
* @return mixed Filtered return value
510
* @author Leanza Francesco <leanzafrancesco@gmail.com>
511
+ * @since 3.0.0
512
*/
513
public static function sanitize_option( $value, $option, $raw_value ) {
514
if ( isset( $option[ 'type' ] ) && 'yith-field' === $option[ 'type' ] ) {
plugin-fw/lib/yit-plugin-panel.php CHANGED
@@ -18,7 +18,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
18
*
19
* Setting Page to Manage Plugins
20
*
21
- * @class YIT_Plugin_Panel
22
* @package Yithemes
23
* @since 1.0
24
* @author Your Inspiration Themes
@@ -77,6 +77,8 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
77
);
78
79
$args = apply_filters( 'yit_plugin_fw_panel_option_args', wp_parse_args( $args, $default_args ) );
80
81
$this->settings = $args;
82
$this->_tabs_path_files = $this->get_tabs_path_files();
@@ -105,7 +107,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
105
/**
106
* Init actions once to prevent multiple actions
107
*
108
- * @since 3.0.0
109
* @author Leanza Francesco <leanzafrancesco@gmail.com>
110
*/
111
protected static function _init_actions() {
@@ -126,7 +128,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
126
*
127
* @param $admin_body_classes
128
*
129
- * @since 3.0.0
130
* @author Leanza Francesco <leanzafrancesco@gmail.com>
131
*
132
* @return string
@@ -149,13 +151,13 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
149
public function add_menu_page() {
150
global $admin_page_hooks;
151
152
- if ( !isset( $admin_page_hooks[ 'yit_plugin_panel' ] ) ) {
153
$position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
154
$capability = apply_filters( 'yit_plugin_panel_menu_page_capability', 'manage_options' );
155
$show = apply_filters( 'yit_plugin_panel_menu_page_show', true );
156
157
// YITH Plugins text must not be translated
158
- !!$show && add_menu_page( 'yit_plugin_panel', 'YITH Plugins', $capability, 'yit_plugin_panel', null, YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png', $position );
159
}
160
}
161
@@ -170,7 +172,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
170
*/
171
public function remove_duplicate_submenu_page() {
172
/* === Duplicate Items Hack === */
173
- remove_submenu_page( 'yit_plugin_panel', 'yit_plugin_panel' );
174
}
175
176
/**
@@ -325,8 +327,8 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
325
public function add_premium_version_upgrade_to_menu() {
326
global $submenu;
327
328
- if ( apply_filters( 'yit_show_upgrade_to_premium_version', isset( $submenu[ 'yit_plugin_panel' ] ) && !isset( $submenu[ 'yit_plugin_panel' ][ 'how_to' ] ) ) ) {
329
- $submenu[ 'yit_plugin_panel' ][ 'how_to' ] = array(
330
sprintf( '%s%s%s', '<span id="yith-how-to-premium">', __( 'How to install premium version', 'yith-plugin-fw' ), '</span>' ),
331
'install_plugins',
332
'//support.yithemes.com/hc/en-us/articles/217840988',
@@ -889,14 +891,14 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
889
*/
890
public static function sort_plugins() {
891
global $submenu;
892
- if ( !empty( $submenu[ 'yit_plugin_panel' ] ) ) {
893
- $sorted_plugins = $submenu[ 'yit_plugin_panel' ];
894
895
usort( $sorted_plugins, function ( $a, $b ) {
896
return strcmp( current( $a ), current( $b ) );
897
} );
898
899
- $submenu[ 'yit_plugin_panel' ] = $sorted_plugins;
900
}
901
}
902
@@ -909,8 +911,8 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
909
public static function add_menu_class_in_yith_plugin( $menu ) {
910
global $submenu;
911
912
- if ( !empty( $submenu[ 'yit_plugin_panel' ] ) ) {
913
- $item_count = count( $submenu[ 'yit_plugin_panel' ] );
914
$columns = absint( $item_count / 20 ) + 1;
915
$columns = max( 1, min( $columns, 3 ) );
916
$columns = apply_filters( 'yith_plugin_fw_yith_plugins_menu_columns', $columns, $item_count );
@@ -918,7 +920,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
918
if ( $columns > 1 ) {
919
$class = "yith-plugin-fw-menu-$columns-columns";
920
foreach ( $menu as $order => $top ) {
921
- if ( 'yit_plugin_panel' === $top[ 2 ] ) {
922
$c = $menu[ $order ][ 4 ];
923
$menu[ $order ][ 4 ] = add_cssclass( $class, $c );
924
break;
18
*
19
* Setting Page to Manage Plugins
20
*
21
+ * @class YIT_Plugin_Panel
22
* @package Yithemes
23
* @since 1.0
24
* @author Your Inspiration Themes
77
);
78
79
$args = apply_filters( 'yit_plugin_fw_panel_option_args', wp_parse_args( $args, $default_args ) );
80
+ if ( isset( $args[ 'parent_page' ] ) && 'yit_plugin_panel' === $args[ 'parent_page' ] )
81
+ $args[ 'parent_page' ] = 'yith_plugin_panel';
82
83
$this->settings = $args;
84
$this->_tabs_path_files = $this->get_tabs_path_files();
107
/**
108
* Init actions once to prevent multiple actions
109
*
110
+ * @since 3.0.0
111
* @author Leanza Francesco <leanzafrancesco@gmail.com>
112
*/
113
protected static function _init_actions() {
128
*
129
* @param $admin_body_classes
130
*
131
+ * @since 3.0.0
132
* @author Leanza Francesco <leanzafrancesco@gmail.com>
133
*
134
* @return string
151
public function add_menu_page() {
152
global $admin_page_hooks;
153
154
+ if ( !isset( $admin_page_hooks[ 'yith_plugin_panel' ] ) ) {
155
$position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
156
$capability = apply_filters( 'yit_plugin_panel_menu_page_capability', 'manage_options' );
157
$show = apply_filters( 'yit_plugin_panel_menu_page_show', true );
158
159
// YITH Plugins text must not be translated
160
+ !!$show && add_menu_page( 'yith_plugin_panel', 'YITH Plugins', $capability, 'yith_plugin_panel', null, YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png', $position );
161
}
162
}
163
172
*/
173
public function remove_duplicate_submenu_page() {
174
/* === Duplicate Items Hack === */
175
+ remove_submenu_page( 'yith_plugin_panel', 'yith_plugin_panel' );
176
}
177
178
/**
327
public function add_premium_version_upgrade_to_menu() {
328
global $submenu;
329
330
+ if ( apply_filters( 'yit_show_upgrade_to_premium_version', isset( $submenu[ 'yith_plugin_panel' ] ) && !isset( $submenu[ 'yith_plugin_panel' ][ 'how_to' ] ) ) ) {
331
+ $submenu[ 'yith_plugin_panel' ][ 'how_to' ] = array(
332
sprintf( '%s%s%s', '<span id="yith-how-to-premium">', __( 'How to install premium version', 'yith-plugin-fw' ), '</span>' ),
333
'install_plugins',
334
'//support.yithemes.com/hc/en-us/articles/217840988',
891
*/
892
public static function sort_plugins() {
893
global $submenu;
894
+ if ( !empty( $submenu[ 'yith_plugin_panel' ] ) ) {
895
+ $sorted_plugins = $submenu[ 'yith_plugin_panel' ];
896
897
usort( $sorted_plugins, function ( $a, $b ) {
898
return strcmp( current( $a ), current( $b ) );
899
} );
900
901
+ $submenu[ 'yith_plugin_panel' ] = $sorted_plugins;
902
}
903
}
904
911
public static function add_menu_class_in_yith_plugin( $menu ) {
912
global $submenu;
913
914
+ if ( !empty( $submenu[ 'yith_plugin_panel' ] ) ) {
915
+ $item_count = count( $submenu[ 'yith_plugin_panel' ] );
916
$columns = absint( $item_count / 20 ) + 1;
917
$columns = max( 1, min( $columns, 3 ) );
918
$columns = apply_filters( 'yith_plugin_fw_yith_plugins_menu_columns', $columns, $item_count );
920
if ( $columns > 1 ) {
921
$class = "yith-plugin-fw-menu-$columns-columns";
922
foreach ( $menu as $order => $top ) {
923
+ if ( 'yith_plugin_panel' === $top[ 2 ] ) {
924
$c = $menu[ $order ][ 4 ];
925
$menu[ $order ][ 4 ] = add_cssclass( $class, $c );
926
break;
plugin-fw/lib/yit-plugin-subpanel.php CHANGED
@@ -96,13 +96,13 @@ if ( !class_exists( 'YIT_Plugin_SubPanel' ) ) {
96
$logo = $admin_logo;
97
}
98
99
- if ( !isset( $admin_page_hooks[ 'yit_plugin_panel' ] ) ) {
100
$position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
101
- add_menu_page( 'yit_plugin_panel', 'YITH Plugins', 'nosuchcapability', 'yit_plugin_panel', null, $logo, $position );
102
}
103
104
- add_submenu_page( 'yit_plugin_panel', $this->settings[ 'label' ], $this->settings[ 'label' ], 'manage_options', $this->settings[ 'page' ], array( $this, 'yit_panel' ) );
105
- remove_submenu_page( 'yit_plugin_panel', 'yit_plugin_panel' );
106
107
}
108
96
$logo = $admin_logo;
97
}
98
99
+ if ( !isset( $admin_page_hooks[ 'yith_plugin_panel' ] ) ) {
100
$position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
101
+ add_menu_page( 'yith_plugin_panel', 'YITH Plugins', 'nosuchcapability', 'yith_plugin_panel', null, $logo, $position );
102
}
103
104
+ add_submenu_page( 'yith_plugin_panel', $this->settings[ 'label' ], $this->settings[ 'label' ], 'manage_options', $this->settings[ 'page' ], array( $this, 'yit_panel' ) );
105
+ remove_submenu_page( 'yith_plugin_panel', 'yith_plugin_panel' );
106
107
}
108
plugin-fw/licence/assets/js/yit-licence.js CHANGED
@@ -8,189 +8,193 @@
8
*/
9
10
11
- (function ($) {
12
13
/* === Licence API === */
14
15
- var licence_activation = function (button) {
16
- button.on('click', function (e, button) {
17
e.preventDefault();
18
19
- var t = $(this),
20
- form_id = t.data('formid'),
21
- form = $('#' + form_id),
22
- data = form.serialize(),
23
- message = $(form).find('.message'),
24
- message_wrapper = $(form).find('.message-wrapper'),
25
- email = form.find('.user-email'),
26
- licence_key = form.find('.licence-key'),
27
- email_val = form.find('.user-email').val(),
28
- licence_key_val = form.find('.licence-key').val(),
29
- error = false,
30
- error_fields = new Array(),
31
- product_row = form.find('.product-row'),
32
- licence_activation = $('.licence-activation'),
33
- spinner = $('#products-to-active').find('.spinner');
34
35
/* Init Input Fields */
36
message.empty();
37
- message_wrapper.removeClass('visible')
38
- email.removeClass('require');
39
- licence_key.removeClass('require');
40
- product_row.removeClass('error');
41
- spinner.addClass('show');
42
- t.add(licence_activation).prop("disabled", true).addClass('clicked');
43
-
44
- if ('' == email_val) {
45
error = true;
46
error_fields[ error_fields.length ] = licence_message.email;
47
- email.addClass('require');
48
}
49
50
- if ('' == licence_key_val) {
51
error = true;
52
error_fields[ error_fields.length ] = licence_message.license_key;
53
- licence_key.addClass('require');
54
}
55
56
- if (false == error) {
57
- jQuery.ajax({
58
- type : 'POST',
59
- url : ajaxurl,
60
- data : data,
61
- success: function (response) {
62
-
63
- spinner.removeClass('show');
64
- t.add(licence_activation).prop("disabled", false).removeClass('clicked');
65
-
66
- if (true == response.activated) {
67
- $('.product-licence-activation').empty().replaceWith(response.template);
68
- licence_api();
69
- } else if (false != response) {
70
- message.text(response.error);
71
- message_wrapper.addClass('visible');
72
- product_row.addClass('error');
73
- } else {
74
- message.text(licence_message.server);
75
- message_wrapper.addClass('visible');
76
- product_row.addClass('error');
77
- }
78
- }
79
- });
80
} else {
81
- if (error_fields.length == 1) {
82
- message.text(licence_message.error.replace('%field%', error_fields[0]));
83
- message_wrapper.addClass('visible');
84
- product_row.addClass('error');
85
} else {
86
var message_text = licence_message.errors;
87
- for (var i = 0; i < error_fields.length; i++) {
88
- message_text = message_text.replace('%field_' + ( i + 1) + '%', error_fields[i]);
89
- message_wrapper.addClass('visible');
90
}
91
- message.text(message_text);
92
- message_wrapper.addClass('visible');
93
- product_row.addClass('error');
94
}
95
96
- spinner.removeClass('show');
97
- t.add(licence_activation).prop("disabled", false).removeClass('clicked');
98
}
99
- });
100
};
101
102
- var licence_update = function (button) {
103
- button.on('click', function (e) {
104
e.preventDefault();
105
106
- var t = $(this),
107
- form = $('#licence-check-update'),
108
data = form.serialize();
109
110
- t.prop("disabled", true).addClass('clicked');
111
- form.find('div.spinner').addClass('show');
112
-
113
- jQuery.ajax({
114
- type : 'POST',
115
- url : ajaxurl,
116
- data : data,
117
- success: function (response) {
118
- $('.product-licence-activation').empty().replaceWith(response.template);
119
- licence_api();
120
- }
121
- });
122
- });
123
};
124
125
- var licence_deactivate = function (button) {
126
- button.on('click', function (e) {
127
e.preventDefault();
128
129
var check = script_info.is_debug == true ? true : confirm( licence_message.are_you_sure );
130
131
- if( check == true ){
132
- var t = $(this),
133
- licence_key = t.data('licence-key'),
134
- licence_email = t.data('licence-email'),
135
- product_init = t.data('product-init'),
136
- action = t.data('action'),
137
- renew = $('.licence-renew'),
138
- deactive = $('.licence-deactive'),
139
- message = $('#yith-licence-notice'),
140
- activated_table = $('.activated-table');
141
-
142
- t.add(renew).add(deactive).prop("disabled", true).addClass('clicked');
143
- $('#activated-products').find('.spinner').addClass('show');
144
-
145
- jQuery.ajax({
146
- type : 'POST',
147
- url : ajaxurl,
148
- data : {
149
- action: action,
150
- licence_key: licence_key,
151
- email: licence_email,
152
- product_init: product_init
153
- },
154
- success: function (response) {
155
- message.css( 'maxWidth', activated_table.width() );
156
- if (false == response.activated && typeof response.error == 'undefined') {
157
- $('.product-licence-activation').empty().replaceWith(response.template);
158
- licence_api();
159
- }
160
-
161
- if (false == response.activated && typeof response.error != 'undefined') {
162
- message.find('p.yith-licence-notice-message').html(response.error);
163
- message.removeClass('notice-success').addClass('notice-error visible');
164
- t.add(renew).add(deactive).add(renew).prop("disabled", false).removeClass('clicked');
165
- $('#activated-products').find('.spinner').removeClass('show');
166
- }
167
-
168
- else if (false == response) {
169
- message.find('p.yith-licence-notice-message').html(licence_message.server);
170
- message.removeClass('notice-success').addClass('notice-error visible');
171
- t.add(renew).add(deactive).add(renew).prop("disabled", false).removeClass('clicked');
172
- $('#activated-products').find('.spinner').removeClass('show');
173
- }
174
- }
175
- });
176
}
177
- });
178
};
179
180
var licence_api = function () {
181
- var button = $('.licence-activation'),
182
- check = $('.licence-check'),
183
- deactivated = $('.licence-deactive');
184
185
- licence_activation(button);
186
- licence_update(check);
187
- licence_deactivate(deactivated);
188
};
189
190
licence_api();
191
192
- $('body').on('click', '.yit-changelog-button', function (e) {
193
- $('#TB_window').remove();
194
- });
195
196
- })(jQuery);
8
*/
9
10
11
+ ( function ( $ ) {
12
13
/* === Licence API === */
14
15
+ var licence_activation = function ( button ) {
16
+ button.on( 'click', function ( e, button ) {
17
e.preventDefault();
18
19
+ var t = $( this ),
20
+ form_id = t.data( 'formid' ),
21
+ form = $( '#' + form_id ),
22
+ data = form.serialize(),
23
+ message = $( form ).find( '.message' ),
24
+ message_wrapper = $( form ).find( '.message-wrapper' ),
25
+ email = form.find( '.user-email' ),
26
+ licence_key = form.find( '.licence-key' ),
27
+ email_val = form.find( '.user-email' ).val(),
28
+ licence_key_val = form.find( '.licence-key' ).val(),
29
+ error = false,
30
+ error_fields = new Array(),
31
+ product_row = form.find( '.product-row' ),
32
+ licence_activation = $( '.licence-activation' ),
33
+ spinner = $( '#products-to-active' ).find( '.spinner' );
34
35
/* Init Input Fields */
36
message.empty();
37
+ message_wrapper.removeClass( 'visible' );
38
+ email.removeClass( 'require' );
39
+ licence_key.removeClass( 'require' );
40
+ product_row.removeClass( 'error' );
41
+ spinner.addClass( 'show' );
42
+ t.add( licence_activation ).prop( "disabled", true ).addClass( 'clicked' );
43
+
44
+ if ( '' === email_val ) {
45
error = true;
46
error_fields[ error_fields.length ] = licence_message.email;
47
+ email.addClass( 'require' );
48
}
49
50
+ if ( '' === licence_key_val ) {
51
error = true;
52
error_fields[ error_fields.length ] = licence_message.license_key;
53
+ licence_key.addClass( 'require' );
54
}
55
56
+ if ( false === error ) {
57
+ jQuery.ajax( {
58
+ type : 'POST',
59
+ url : ajaxurl,
60
+ data : data,
61
+ success: function ( response ) {
62
+
63
+ spinner.removeClass( 'show' );
64
+ t.add( licence_activation ).prop( "disabled", false ).removeClass( 'clicked' );
65
+
66
+ if ( true === response.activated ) {
67
+ $( '.product-licence-activation' ).empty().replaceWith( response.template );
68
+ licence_api();
69
+ } else if ( false !== response && typeof response.error !== 'undefined' ) {
70
+ message.text( response.error );
71
+ message_wrapper.addClass( 'visible' );
72
+ product_row.addClass( 'error' );
73
+ } else {
74
+ message.text( licence_message.server );
75
+ message_wrapper.addClass( 'visible' );
76
+ product_row.addClass( 'error' );
77
+ }
78
+
79
+ if ( typeof response.debug !== 'undefined' ) {
80
+ console.log( response.debug );
81
+ }
82
+ }
83
+ } );
84
} else {
85
+ if ( error_fields.length == 1 ) {
86
+ message.text( licence_message.error.replace( '%field%', error_fields[ 0 ] ) );
87
+ message_wrapper.addClass( 'visible' );
88
+ product_row.addClass( 'error' );
89
} else {
90
var message_text = licence_message.errors;
91
+ for ( var i = 0; i < error_fields.length; i++ ) {
92
+ message_text = message_text.replace( '%field_' + ( i + 1 ) + '%', error_fields[ i ] );
93
+ message_wrapper.addClass( 'visible' );
94
}
95
+ message.text( message_text );
96
+ message_wrapper.addClass( 'visible' );
97
+ product_row.addClass( 'error' );
98
}
99
100
+ spinner.removeClass( 'show' );
101
+ t.add( licence_activation ).prop( "disabled", false ).removeClass( 'clicked' );
102
}
103
+ } );
104
};
105
106
+ var licence_update = function ( button ) {
107
+ button.on( 'click', function ( e ) {
108
e.preventDefault();
109
110
+ var t = $( this ),
111
+ form = $( '#licence-check-update' ),
112
data = form.serialize();
113
114
+ t.prop( "disabled", true ).addClass( 'clicked' );
115
+ form.find( 'div.spinner' ).addClass( 'show' );
116
+
117
+ jQuery.ajax( {
118
+ type : 'POST',
119
+ url : ajaxurl,
120
+ data : data,
121
+ success: function ( response ) {
122
+ $( '.product-licence-activation' ).empty().replaceWith( response.template );
123
+ licence_api();
124
+ }
125
+ } );
126
+ } );
127
};
128
129
+ var licence_deactivate = function ( button ) {
130
+ button.on( 'click', function ( e ) {
131
e.preventDefault();
132
133
var check = script_info.is_debug == true ? true : confirm( licence_message.are_you_sure );
134
135
+ if ( check == true ) {
136
+ var t = $( this ),
137
+ licence_key = t.data( 'licence-key' ),
138
+ licence_email = t.data( 'licence-email' ),
139
+ product_init = t.data( 'product-init' ),
140
+ action = t.data( 'action' ),
141
+ renew = $( '.licence-renew' ),
142
+ deactive = $( '.licence-deactive' ),
143
+ message = $( '#yith-licence-notice' ),
144
+ activated_table = $( '.activated-table' );
145
+
146
+ t.add( renew ).add( deactive ).prop( "disabled", true ).addClass( 'clicked' );
147
+ $( '#activated-products' ).find( '.spinner' ).addClass( 'show' );
148
+
149
+ jQuery.ajax( {
150
+ type : 'POST',
151
+ url : ajaxurl,
152
+ data : {
153
+ action : action,
154
+ licence_key : licence_key,
155
+ email : licence_email,
156
+ product_init: product_init
157
+ },
158
+ success: function ( response ) {
159
+ message.css( 'maxWidth', activated_table.width() );
160
+ if ( false == response.activated && typeof response.error == 'undefined' ) {
161
+ $( '.product-licence-activation' ).empty().replaceWith( response.template );
162
+ licence_api();
163
+ }
164
+
165
+ if ( false == response.activated && typeof response.error != 'undefined' ) {
166
+ message.find( 'p.yith-licence-notice-message' ).html( response.error );
167
+ message.removeClass( 'notice-success' ).addClass( 'notice-error visible' );
168
+ t.add( renew ).add( deactive ).add( renew ).prop( "disabled", false ).removeClass( 'clicked' );
169
+ $( '#activated-products' ).find( '.spinner' ).removeClass( 'show' );
170
+ }
171
+
172
+ else if ( false == response ) {
173
+ message.find( 'p.yith-licence-notice-message' ).html( licence_message.server );
174
+ message.removeClass( 'notice-success' ).addClass( 'notice-error visible' );
175
+ t.add( renew ).add( deactive ).add( renew ).prop( "disabled", false ).removeClass( 'clicked' );
176
+ $( '#activated-products' ).find( '.spinner' ).removeClass( 'show' );
177
+ }
178
+ }
179
+ } );
180
}
181
+ } );
182
};
183
184
var licence_api = function () {
185
+ var button = $( '.licence-activation' ),
186
+ check = $( '.licence-check' ),
187
+ deactivated = $( '.licence-deactive' );
188
189
+ licence_activation( button );
190
+ licence_update( check );
191
+ licence_deactivate( deactivated );
192
};
193
194
licence_api();
195
196
+ $( 'body' ).on( 'click', '.yit-changelog-button', function ( e ) {
197
+ $( '#TB_window' ).remove();
198
+ } );
199
200
+ } )( jQuery );
plugin-fw/licence/assets/js/yit-licence.min.js CHANGED
@@ -1,7 +1,10 @@
1
- (function(b){var k=function(a){a.on("click",function(v,e){v.preventDefault();var a=b(this),c=a.data("formid"),d=b("#"+c),f=d.serialize(),h=b(d).find(".message"),g=b(d).find(".message-wrapper"),m=d.find(".user-email"),u=d.find(".licence-key"),k=d.find(".user-email").val(),t=d.find(".licence-key").val(),n=!1,c=[],p=d.find(".product-row"),q=b(".licence-activation"),r=b("#products-to-active").find(".spinner");h.empty();g.removeClass("visible");m.removeClass("require");u.removeClass("require");p.removeClass("error");
2
- r.addClass("show");a.add(q).prop("disabled",!0).addClass("clicked");""==k&&(n=!0,c[c.length]=licence_message.email,m.addClass("require"));""==t&&(n=!0,c[c.length]=licence_message.license_key,u.addClass("require"));if(0==n)jQuery.ajax({type:"POST",url:ajaxurl,data:f,success:function(c){r.removeClass("show");a.add(q).prop("disabled",!1).removeClass("clicked");1==c.activated?(b(".product-licence-activation").empty().replaceWith(c.template),l()):(0!=c?h.text(c.error):h.text(licence_message.server),g.addClass("visible"),
3
- p.addClass("error"))}});else{if(1==c.length)h.text(licence_message.error.replace("%field%",c[0]));else{d=licence_message.errors;for(f=0;f<c.length;f++)d=d.replace("%field_"+(f+1)+"%",c[f]),g.addClass("visible");h.text(d)}g.addClass("visible");p.addClass("error");r.removeClass("show");a.add(q).prop("disabled",!1).removeClass("clicked")}})},t=function(a){a.on("click",function(a){a.preventDefault();a=b(this);var e=b("#licence-check-update"),k=e.serialize();a.prop("disabled",!0).addClass("clicked");e.find("div.spinner").addClass("show");
4
- jQuery.ajax({type:"POST",url:ajaxurl,data:k,success:function(c){b(".product-licence-activation").empty().replaceWith(c.template);l()}})})},w=function(a){a.on("click",function(a){a.preventDefault();if(1==(1==script_info.is_debug?!0:confirm(licence_message.are_you_sure))){var e=b(this);a=e.data("licence-key");var k=e.data("licence-email"),c=e.data("product-init"),d=e.data("action"),f=b(".licence-renew"),h=b(".licence-deactive"),g=b("#yith-licence-notice"),m=b(".activated-table");e.add(f).add(h).prop("disabled",
5
- !0).addClass("clicked");b("#activated-products").find(".spinner").addClass("show");jQuery.ajax({type:"POST",url:ajaxurl,data:{action:d,licence_key:a,email:k,product_init:c},success:function(a){g.css("maxWidth",m.width());0==a.activated&&"undefined"==typeof a.error&&(b(".product-licence-activation").empty().replaceWith(a.template),l());0==a.activated&&"undefined"!=typeof a.error?(g.find("p.yith-licence-notice-message").html(a.error),g.removeClass("notice-success").addClass("notice-error visible"),
6
- e.add(f).add(h).add(f).prop("disabled",!1).removeClass("clicked"),b("#activated-products").find(".spinner").removeClass("show")):0==a&&(g.find("p.yith-licence-notice-message").html(licence_message.server),g.removeClass("notice-success").addClass("notice-error visible"),e.add(f).add(h).add(f).prop("disabled",!1).removeClass("clicked"),b("#activated-products").find(".spinner").removeClass("show"))}})}})},l=function(){var a=b(".licence-activation"),l=b(".licence-check"),e=b(".licence-deactive");k(a);
7
- t(l);w(e)};l();b("body").on("click",".yit-changelog-button",function(a){b("#TB_window").remove()})})(jQuery);
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,d,b){a instanceof String&&(a=String(a));for(var e=a.length,f=0;f<e;f++){var k=a[f];if(d.call(b,k,f,a))return{i:f,v:k}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,d,b){a!=Array.prototype&&a!=Object.prototype&&(a[d]=b.value)};
2
+ $jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,d,b,e){if(d){b=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var f=a[e];f in b||(b[f]={});b=b[f]}a=a[a.length-1];e=b[a];d=d(e);d!=e&&null!=d&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:d})}};
3
+ $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
4
+ (function(a){var d=function(b){b.on("click",function(g,c){g.preventDefault();var b=a(this);g=b.data("formid");c=a("#"+g);var d=c.serialize(),e=a(c).find(".message"),h=a(c).find(".message-wrapper"),k=c.find(".user-email"),l=c.find(".licence-key"),m=c.find(".user-email").val(),t=c.find(".licence-key").val(),n=!1;g=[];var p=c.find(".product-row"),q=a(".licence-activation"),r=a("#products-to-active").find(".spinner");e.empty();h.removeClass("visible");k.removeClass("require");l.removeClass("require");
5
+ p.removeClass("error");r.addClass("show");b.add(q).prop("disabled",!0).addClass("clicked");""===m&&(n=!0,g[g.length]=licence_message.email,k.addClass("require"));""===t&&(n=!0,g[g.length]=licence_message.license_key,l.addClass("require"));if(!1===n)jQuery.ajax({type:"POST",url:ajaxurl,data:d,success:function(c){r.removeClass("show");b.add(q).prop("disabled",!1).removeClass("clicked");!0===c.activated?(a(".product-licence-activation").empty().replaceWith(c.template),f()):(!1!==c&&"undefined"!==typeof c.error?
6
+ e.text(c.error):e.text(licence_message.server),h.addClass("visible"),p.addClass("error"));"undefined"!==typeof c.debug&&console.log(c.debug)}});else{if(1==g.length)e.text(licence_message.error.replace("%field%",g[0]));else{c=licence_message.errors;for(d=0;d<g.length;d++)c=c.replace("%field_"+(d+1)+"%",g[d]),h.addClass("visible");e.text(c)}h.addClass("visible");p.addClass("error");r.removeClass("show");b.add(q).prop("disabled",!1).removeClass("clicked")}})},b=function(b){b.on("click",function(b){b.preventDefault();
7
+ b=a(this);var c=a("#licence-check-update"),d=c.serialize();b.prop("disabled",!0).addClass("clicked");c.find("div.spinner").addClass("show");jQuery.ajax({type:"POST",url:ajaxurl,data:d,success:function(c){a(".product-licence-activation").empty().replaceWith(c.template);f()}})})},e=function(b){b.on("click",function(b){b.preventDefault();if(1==(1==script_info.is_debug?!0:confirm(licence_message.are_you_sure))){var c=a(this);b=c.data("licence-key");var d=c.data("licence-email"),e=c.data("product-init"),
8
+ g=c.data("action"),h=a(".licence-renew"),k=a(".licence-deactive"),l=a("#yith-licence-notice"),m=a(".activated-table");c.add(h).add(k).prop("disabled",!0).addClass("clicked");a("#activated-products").find(".spinner").addClass("show");jQuery.ajax({type:"POST",url:ajaxurl,data:{action:g,licence_key:b,email:d,product_init:e},success:function(b){l.css("maxWidth",m.width());0==b.activated&&"undefined"==typeof b.error&&(a(".product-licence-activation").empty().replaceWith(b.template),f());0==b.activated&&
9
+ "undefined"!=typeof b.error?(l.find("p.yith-licence-notice-message").html(b.error),l.removeClass("notice-success").addClass("notice-error visible"),c.add(h).add(k).add(h).prop("disabled",!1).removeClass("clicked"),a("#activated-products").find(".spinner").removeClass("show")):0==b&&(l.find("p.yith-licence-notice-message").html(licence_message.server),l.removeClass("notice-success").addClass("notice-error visible"),c.add(h).add(k).add(h).prop("disabled",!1).removeClass("clicked"),a("#activated-products").find(".spinner").removeClass("show"))}})}})},
10
+ f=function(){var f=a(".licence-activation"),g=a(".licence-check"),c=a(".licence-deactive");d(f);b(g);e(c)};f();a("body").on("click",".yit-changelog-button",function(b){a("#TB_window").remove()})})(jQuery);
plugin-fw/licence/lib/yit-licence.php CHANGED
@@ -171,15 +171,14 @@ if ( !class_exists( 'YIT_Licence' ) ) {
171
* @author Andrea Grillo <andrea.grillo@yithemes.com>
172
*/
173
public function admin_enqueue_scripts() {
174
-
175
/**
176
* Support to YIT Framework < 2.0
177
*/
178
- $filename = function_exists( 'yit_load_js_file' ) ? yit_load_js_file( 'yit-licence.js' ) : 'yit-licence.js';
179
$script_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
180
$style_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
181
182
- wp_register_script( 'yit-licence', $script_path . '/licence/assets/js/' . $filename, array( 'jquery' ), '1.0.0', true );
183
wp_register_style( 'yit-theme-licence', $style_path . '/licence/assets/css/yit-licence.css' );
184
185
/* Localize Scripts */
@@ -211,7 +210,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
211
* Send a request to API server to activate plugins
212
*
213
* @return void
214
- * @use wp_send_json
215
*
216
* @since 1.0
217
* @author Andrea Grillo <andrea.grillo@yithemes.com>
@@ -265,6 +264,14 @@ if ( !class_exists( 'YIT_Licence' ) ) {
265
$body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 200 ) );
266
}
267
268
wp_send_json( $body );
269
}
270
@@ -274,7 +281,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
274
* Send a request to API server to activate plugins
275
*
276
* @return void
277
- * @use wp_send_json
278
*
279
* @since 1.0
280
* @author Andrea Grillo <andrea.grillo@yithemes.com>
@@ -446,9 +453,9 @@ if ( !class_exists( 'YIT_Licence' ) ) {
446
* Check for licence update
447
*
448
* @return void
449
- * @since 2.5
450
*
451
- * @use YIT_Theme_Licence->check()
452
* @author Andrea Grillo <andrea.grillo@yithemes.com>
453
*/
454
public function check_all() {
@@ -463,7 +470,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
463
* Send a request to API server to check activate plugins and update the informations
464
*
465
* @return void
466
- * @use YIT_Theme_Licence->check()
467
*
468
* @since 1.0
469
* @author Andrea Grillo <andrea.grillo@yithemes.com>
171
* @author Andrea Grillo <andrea.grillo@yithemes.com>
172
*/
173
public function admin_enqueue_scripts() {
174
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
175
/**
176
* Support to YIT Framework < 2.0
177
*/
178
$script_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
179
$style_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
180
181
+ wp_register_script( 'yit-licence', $script_path . '/licence/assets/js/yit-licence' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );
182
wp_register_style( 'yit-theme-licence', $style_path . '/licence/assets/css/yit-licence.css' );
183
184
/* Localize Scripts */
210
* Send a request to API server to activate plugins
211
*
212
* @return void
213
+ * @use wp_send_json
214
*
215
* @since 1.0
216
* @author Andrea Grillo <andrea.grillo@yithemes.com>
264
$body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 200 ) );
265
}
266
267
+ if ( !empty( $_REQUEST[ 'debug' ] ) ) {
268
+ $body = is_array( $body ) ? $body : array();
269
+ $body[ 'debug' ] = array( 'response' => $response );
270
+ if ( 'print_r' === $_REQUEST[ 'debug' ] ) {
271
+ $body[ 'debug' ] = print_r( $body[ 'debug' ], true );
272
+ }
273
+ }
274
+
275
wp_send_json( $body );
276
}
277
281
* Send a request to API server to activate plugins
282
*
283
* @return void
284
+ * @use wp_send_json
285
*
286
* @since 1.0
287
* @author Andrea Grillo <andrea.grillo@yithemes.com>
453
* Check for licence update
454
*
455
* @return void
456
+ * @since 2.5
457
*
458
+ * @use YIT_Theme_Licence->check()
459
* @author Andrea Grillo <andrea.grillo@yithemes.com>
460
*/
461
public function check_all() {
470
* Send a request to API server to check activate plugins and update the informations
471
*
472
* @return void
473
+ * @use YIT_Theme_Licence->check()
474
*
475
* @since 1.0
476
* @author Andrea Grillo <andrea.grillo@yithemes.com>
plugin-fw/licence/lib/yit-plugin-licence.php CHANGED
@@ -63,7 +63,7 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
63
}
64
65
$this->_settings = array(
66
- 'parent_page' => 'yit_plugin_panel',
67
'page_title' => __( 'License Activation', 'yith-plugin-fw' ),
68
'menu_title' => __( 'License Activation', 'yith-plugin-fw' ),
69
'capability' => 'manage_options',
63
}
64
65
$this->_settings = array(
66
+ 'parent_page' => 'yith_plugin_panel',
67
'page_title' => __( 'License Activation', 'yith-plugin-fw' ),
68
'menu_title' => __( 'License Activation', 'yith-plugin-fw' ),
69
'capability' => 'manage_options',
plugin-fw/licence/templates/panel/activation/activation-panel.php CHANGED
@@ -8,15 +8,16 @@
8
* http://www.gnu.org/licenses/gpl-3.0.txt
9
*/
10
11
- $to_active_products = $this->get_to_active_products();
12
- $activated_products = $this->get_activated_products();
13
- $no_active_products = $this->get_no_active_licence_key();
14
- $expired_products = isset( $no_active_products[ '106' ] ) ? $no_active_products[ '106' ] : array();
15
- $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_products[ '107' ] : array();
16
- $notice = isset( $notice ) ? $notice : '';
17
- $notice_class = ! empty( $notice ) ? 'notice notice-success visible' : 'notice notice-success';
18
- $to_activate_check = $this instanceof YIT_Theme_Licence ? 1 : 2;
19
- $num_members_products_activate = $this->get_number_of_membership_products();
20
?>
21
22
<div class="yit-container product-licence-activation">
@@ -25,8 +26,8 @@ $num_members_products_activate = $this->get_number_of_membership_products();
25
<div class="licence-check-section">
26
<form method="post" id="licence-check-update" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
27
<span class="licence-label" style="display: block;"><?php _e( 'Have you updated your licenses? Have you asked for an extension? Update information concerning your products.', 'yith-plugin-fw' ); ?></span>
28
- <input type="hidden" name="action" value="yith_update_licence_information-<?php echo $this->get_product_type(); ?>" />
29
- <input type="submit" name="submit" value="<?php _e( 'Update license information', 'yith-plugin-fw' ) ?>" class="button-licence licence-check" />
30
<div class="spinner"></div>
31
</form>
32
</div>
@@ -37,32 +38,35 @@ $num_members_products_activate = $this->get_number_of_membership_products();
37
38
<!-- To Active Products -->
39
40
- <?php if( ! empty( $to_active_products ) ) : ?>
41
<h3 id="products-to-active" class="to-active">
42
<?php echo _n( 'Product to activate', 'Products to activate', $to_activate_check, 'yith-plugin-fw' ) ?>
43
<span class="spinner"></span>
44
</h3>
45
<div class="to-active-wrapper">
46
- <?php foreach( $to_active_products as $init => $info ) : ?>
47
- <form class="to-active-form" method="post" id="<?php echo $info['product_id'] ?>" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
48
<table class="to-active-table">
49
<tbody>
50
- <tr class="product-row">
51
- <td class="product-name">
52
- <?php echo $this->display_product_name( $info['Name'] ) ?>
53
- </td>
54
- <td>
55
- <input type="email" name="email" placeholder="Your email on Yithemes.com" value="" class="user-email" />
56
- </td>
57
- <td>
58
- <input type="text" name="licence_key" placeholder="License Key" value="" class="licence-key" />
59
- </td>
60
- <td class="activate-button">
61
- <input type="submit" name="submit" value="<?php _e( 'Activate', 'yith-plugin-fw' )?>" class="button-licence licence-activation" data-formid="<?php echo $info['product_id'] ?>"/>
62
- </td>
63
- </tr>
64
- <input type="hidden" name="action" value="yith_activate-<?php echo $this->get_product_type(); ?>" />
65
- <input type="hidden" name="product_init" value="<?php echo $init ?>" />
66
</tbody>
67
</table>
68
<div class="message-wrapper">
@@ -75,164 +79,164 @@ $num_members_products_activate = $this->get_number_of_membership_products();
75
76
<!-- Activated Products -->
77
78
- <?php if( ! empty( $activated_products ) ) : ?>
79
<h3 id="activated-products">
80
<?php _e( 'Activated', 'yith-plugin-fw' ) ?>
81
<span class="spinner"></span>
82
</h3>
83
<table class="activated-table">
84
<thead>
85
- <tr>
86
- <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
87
- <?php if( $this->show_extra_info ) : ?>
88
- <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
89
- <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
90
<?php endif; ?>
91
92
- <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
93
-
94
- <?php if( $this->show_extra_info ) : ?>
95
- <th><?php _e( 'Remaining', 'yith-plugin-fw' ) ?></th>
96
- <?php if( $num_members_products_activate ) : ?>
97
- <th><?php _e( 'Club Subscription', 'yith-plugin-fw' ) ?></th>
98
- <?php endif; ?>
99
- <?php endif; ?>
100
-
101
- <th><?php _e( 'License Actions', 'yith-plugin-fw' ) ?></th>
102
- </tr>
103
</thead>
104
<tbody>
105
- <?php foreach( $activated_products as $init => $info ) : ?>
106
- <tr>
107
- <td class="product-name">
108
- <?php echo $this->display_product_name( $info['Name'] ) ?>
109
</td>
110
111
- <?php if( $this->show_extra_info ) : ?>
112
- <td class="product-licence-email">
113
- <?php echo $info['licence']['email'] ?>
114
- </td>
115
- <td class="product-licence-key">
116
- <?php echo $info['licence']['licence_key'] ?>
117
- </td>
118
- <?php endif; ?>
119
120
- <td class="product-licence-expires">
121
- <?php echo date("F j, Y", $info['licence']['licence_expires'] ); ?>
122
</td>
123
-
124
- <?php if( $this->show_extra_info ) : ?>
125
- <td class="product-licence-remaining">
126
- <?php printf( __( '%1s out of %2s', 'yith-plugin-fw' ), $info['licence']['activation_remaining'], $info['licence']['activation_limit'] ); ?>
127
</td>
128
- <?php if( $num_members_products_activate ) : ?>
129
- <td class="product-licence-membership">
130
- <span class="dashicons dashicons-<?php echo $info['licence']['is_membership'] ? 'yes' : 'no-alt' ?>"></span>
131
- </td>
132
- <?php endif; ?>
133
<?php endif; ?>
134
135
- <td>
136
- <a class="button-licence licence-deactive"
137
- href="#"
138
- data-licence-email="<?php echo $info['licence']['email'] ?>"
139
- data-licence-key="<?php echo $info['licence']['licence_key'] ?>"
140
- data-product-init="<?php echo $init ?>"
141
- data-action="yith_deactivate-<?php echo $this->get_product_type(); ?>">
142
- <?php _e( 'Deactivate', 'yith-plugin-fw' ) ?>
143
</a>
144
-
145
- <?php if( ! $info['licence']['is_membership'] && $this->show_renew_button ) : ?>
146
- <a class="button-licence licence-renew" href="<?php echo esc_url( $this->get_renewing_uri( $info['licence']['licence_key'] ) ) ?>" target="_blank">
147
- <?php _e( 'Renew', 'yith-plugin-fw' ) ?>
148
- </a>
149
- <?php endif; ?>
150
- </td>
151
- </tr>
152
- <?php endforeach; ?>
153
</tbody>
154
</table>
155
- <?php endif;?>
156
157
- <!-- Banned Products -->
158
159
- <?php if( ! empty( $banned_products ) ) : ?>
160
<h3><?php _e( 'Banned', 'yith-plugin-fw' ) ?></h3>
161
<table class="expired-table">
162
<thead>
163
<tr>
164
- <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
165
- <?php if( $this->show_extra_info ) : ?>
166
- <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
167
- <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
168
<?php endif; ?>
169
</tr>
170
- </thead>
171
- <tbody>
172
- <?php foreach( $banned_products as $init => $info ) : ?>
173
- <tr>
174
- <td class="product-name">
175
- <?php echo $this->display_product_name( $info['Name'] ) ?>
176
- </td>
177
- <?php if( $this->show_extra_info ) : ?>
178
- <td class="product-licence-email"><?php echo $info['licence']['email'] ?></td>
179
- <td class="product-licence-key"><?php echo $info['licence']['licence_key'] ?></td>
180
- <?php endif; ?>
181
- </tr>
182
- <?php endforeach; ?>
183
</tbody>
184
</table>
185
- <?php endif;?>
186
187
<!-- Expired Products -->
188
189
- <?php if( ! empty( $expired_products ) ) : ?>
190
<h3><?php _e( 'Expired', 'yith-plugin-fw' ) ?></h3>
191
<table class="expired-table">
192
<thead>
193
- <tr>
194
- <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
195
196
- <?php if( $this->show_extra_info ) : ?>
197
- <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
198
- <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
199
- <?php endif; ?>
200
201
- <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
202
203
- <?php if( $this->show_renew_button ) : ?>
204
- <th><?php _e( 'Renew', 'yith-plugin-fw' ) ?></th>
205
- <?php endif; ?>
206
- </tr>
207
</thead>
208
<tbody>
209
- <?php foreach( $expired_products as $init => $info ) : ?>
210
- <tr>
211
- <td class="product-name">
212
- <?php echo $this->display_product_name( $info['Name'] ) ?>
213
- </td>
214
215
- <?php if( $this->show_extra_info ) : ?>
216
- <td class="product-licence-email"><?php echo $info['licence']['email'] ?></td>
217
- <td class="product-licence-key"><?php echo $info['licence']['licence_key'] ?></td>
218
- <?php endif; ?>
219
220
- <td class="product-licence-expires"><?php echo date("F j, Y", $info['licence']['licence_expires'] ); ?></td>
221
222
- <?php if( $this->show_renew_button ) : ?>
223
- <td>
224
- <a class="button-licence licence-renew" href="<?php echo $this->get_renewing_uri( $info['licence']['licence_key'] ) ?>" target="_blank">
225
- <?php if( $info['licence']['is_membership'] ) : ?>
226
- <?php _e( 'Order again', 'yith-plugin-fw' ) ?>
227
- <?php else : ?>
228
- <?php __( 'Renew license', 'yith-plugin-fw' ) ?>
229
- <?php endif; ?>
230
- </a>
231
- </td>
232
- <?php endif; ?>
233
- </tr>
234
- <?php endforeach; ?>
235
</tbody>
236
</table>
237
- <?php endif;?>
238
</div>
8
* http://www.gnu.org/licenses/gpl-3.0.txt
9
*/
10
11
+ $to_active_products = $this->get_to_active_products();
12
+ $activated_products = $this->get_activated_products();
13
+ $no_active_products = $this->get_no_active_licence_key();
14
+ $expired_products = isset( $no_active_products[ '106' ] ) ? $no_active_products[ '106' ] : array();
15
+ $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_products[ '107' ] : array();
16
+ $notice = isset( $notice ) ? $notice : '';
17
+ $notice_class = !empty( $notice ) ? 'notice notice-success visible' : 'notice notice-success';
18
+ $to_activate_check = $this instanceof YIT_Theme_Licence ? 1 : 2;
19
+ $num_members_products_activate = $this->get_number_of_membership_products();
20
+ $debug = isset( $_REQUEST[ 'yith-license-debug' ] ) ? $_REQUEST[ 'yith-license-debug' ] : false;
21
?>
22
23
<div class="yit-container product-licence-activation">
26
<div class="licence-check-section">
27
<form method="post" id="licence-check-update" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
28
<span class="licence-label" style="display: block;"><?php _e( 'Have you updated your licenses? Have you asked for an extension? Update information concerning your products.', 'yith-plugin-fw' ); ?></span>
29
+ <input type="hidden" name="action" value="yith_update_licence_information-<?php echo $this->get_product_type(); ?>"/>
30
+ <input type="submit" name="submit" value="<?php _e( 'Update license information', 'yith-plugin-fw' ) ?>" class="button-licence licence-check"/>
31
<div class="spinner"></div>
32
</form>
33
</div>
38
39
<!-- To Active Products -->
40
41
+ <?php if ( !empty( $to_active_products ) ) : ?>
42
<h3 id="products-to-active" class="to-active">
43
<?php echo _n( 'Product to activate', 'Products to activate', $to_activate_check, 'yith-plugin-fw' ) ?>
44
<span class="spinner"></span>
45
</h3>
46
<div class="to-active-wrapper">
47
+ <?php foreach ( $to_active_products as $init => $info ) : ?>
48
+ <form class="to-active-form" method="post" id="<?php echo $info[ 'product_id' ] ?>" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
49
+ <?php if ( $debug ): ?>
50
+ <input type="hidden" name="debug" value="<?php echo $debug ?>"/>
51
+ <?php endif ?>
52
<table class="to-active-table">
53
<tbody>
54
+ <tr class="product-row">
55
+ <td class="product-name">
56
+ <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
57
+ </td>
58
+ <td>
59
+ <input type="email" name="email" placeholder="Your email on Yithemes.com" value="" class="user-email"/>
60
+ </td>
61
+ <td>
62
+ <input type="text" name="licence_key" placeholder="License Key" value="" class="licence-key"/>
63
+ </td>
64
+ <td class="activate-button">
65
+ <input type="submit" name="submit" value="<?php _e( 'Activate', 'yith-plugin-fw' ) ?>" class="button-licence licence-activation" data-formid="<?php echo $info[ 'product_id' ] ?>"/>
66
+ </td>
67
+ </tr>
68
+ <input type="hidden" name="action" value="yith_activate-<?php echo $this->get_product_type(); ?>"/>
69
+ <input type="hidden" name="product_init" value="<?php echo $init ?>"/>
70
</tbody>
71
</table>
72
<div class="message-wrapper">
79
80
<!-- Activated Products -->
81
82
+ <?php if ( !empty( $activated_products ) ) : ?>
83
<h3 id="activated-products">
84
<?php _e( 'Activated', 'yith-plugin-fw' ) ?>
85
<span class="spinner"></span>
86
</h3>
87
<table class="activated-table">
88
<thead>
89
+ <tr>
90
+ <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
91
+ <?php if ( $this->show_extra_info ) : ?>
92
+ <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
93
+ <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
94
+ <?php endif; ?>
95
+
96
+ <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
97
+
98
+ <?php if ( $this->show_extra_info ) : ?>
99
+ <th><?php _e( 'Remaining', 'yith-plugin-fw' ) ?></th>
100
+ <?php if ( $num_members_products_activate ) : ?>
101
+ <th><?php _e( 'Club Subscription', 'yith-plugin-fw' ) ?></th>
102
<?php endif; ?>
103
+ <?php endif; ?>
104
105
+ <th><?php _e( 'License Actions', 'yith-plugin-fw' ) ?></th>
106
+ </tr>
107
</thead>
108
<tbody>
109
+ <?php foreach ( $activated_products as $init => $info ) : ?>
110
+ <tr>
111
+ <td class="product-name">
112
+ <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
113
+ </td>
114
+
115
+ <?php if ( $this->show_extra_info ) : ?>
116
+ <td class="product-licence-email">
117
+ <?php echo $info[ 'licence' ][ 'email' ] ?>
118
</td>
119
+ <td class="product-licence-key">
120
+ <?php echo $info[ 'licence' ][ 'licence_key' ] ?>
121
+ </td>
122
+ <?php endif; ?>
123
124
+ <td class="product-licence-expires">
125
+ <?php echo date( "F j, Y", $info[ 'licence' ][ 'licence_expires' ] ); ?>
126
+ </td>
127
128
+ <?php if ( $this->show_extra_info ) : ?>
129
+ <td class="product-licence-remaining">
130
+ <?php printf( __( '%1s out of %2s', 'yith-plugin-fw' ), $info[ 'licence' ][ 'activation_remaining' ], $info[ 'licence' ][ 'activation_limit' ] ); ?>
131
</td>
132
+ <?php if ( $num_members_products_activate ) : ?>
133
+ <td class="product-licence-membership">
134
+ <span class="dashicons dashicons-<?php echo $info[ 'licence' ][ 'is_membership' ] ? 'yes' : 'no-alt' ?>"></span>
135
</td>
136
<?php endif; ?>
137
+ <?php endif; ?>
138
139
+ <td>
140
+ <a class="button-licence licence-deactive"
141
+ href="#"
142
+ data-licence-email="<?php echo $info[ 'licence' ][ 'email' ] ?>"
143
+ data-licence-key="<?php echo $info[ 'licence' ][ 'licence_key' ] ?>"
144
+ data-product-init="<?php echo $init ?>"
145
+ data-action="yith_deactivate-<?php echo $this->get_product_type(); ?>">
146
+ <?php _e( 'Deactivate', 'yith-plugin-fw' ) ?>
147
+ </a>
148
+
149
+ <?php if ( !$info[ 'licence' ][ 'is_membership' ] && $this->show_renew_button ) : ?>
150
+ <a class="button-licence licence-renew" href="<?php echo esc_url( $this->get_renewing_uri( $info[ 'licence' ][ 'licence_key' ] ) ) ?>" target="_blank">
151
+ <?php _e( 'Renew', 'yith-plugin-fw' ) ?>
152
</a>
153
+ <?php endif; ?>
154
+ </td>
155
+ </tr>
156
+ <?php endforeach; ?>
157
</tbody>
158
</table>
159
+ <?php endif; ?>
160
161
+ <!-- Banned Products -->
162
163
+ <?php if ( !empty( $banned_products ) ) : ?>
164
<h3><?php _e( 'Banned', 'yith-plugin-fw' ) ?></h3>
165
<table class="expired-table">
166
<thead>
167
+ <tr>
168
+ <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
169
+ <?php if ( $this->show_extra_info ) : ?>
170
+ <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
171
+ <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
172
+ <?php endif; ?>
173
+ </tr>
174
+ </thead>
175
+ <tbody>
176
+ <?php foreach ( $banned_products as $init => $info ) : ?>
177
<tr>
178
+ <td class="product-name">
179
+ <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
180
+ </td>
181
+ <?php if ( $this->show_extra_info ) : ?>
182
+ <td class="product-licence-email"><?php echo $info[ 'licence' ][ 'email' ] ?></td>
183
+ <td class="product-licence-key"><?php echo $info[ 'licence' ][ 'licence_key' ] ?></td>
184
<?php endif; ?>
185
</tr>
186
+ <?php endforeach; ?>
187
</tbody>
188
</table>
189
+ <?php endif; ?>
190
191
<!-- Expired Products -->
192
193
+ <?php if ( !empty( $expired_products ) ) : ?>
194
<h3><?php _e( 'Expired', 'yith-plugin-fw' ) ?></h3>
195
<table class="expired-table">
196
<thead>
197
+ <tr>
198
+ <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
199
200
+ <?php if ( $this->show_extra_info ) : ?>
201
+ <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
202
+ <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
203
+ <?php endif; ?>
204
205
+ <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
206
207
+ <?php if ( $this->show_renew_button ) : ?>
208
+ <th><?php _e( 'Renew', 'yith-plugin-fw' ) ?></th>
209
+ <?php endif; ?>
210
+ </tr>
211
</thead>
212
<tbody>
213
+ <?php foreach ( $expired_products as $init => $info ) : ?>
214
+ <tr>
215
+ <td class="product-name">
216
+ <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
217
+ </td>
218
219
+ <?php if ( $this->show_extra_info ) : ?>
220
+ <td class="product-licence-email"><?php echo $info[ 'licence' ][ 'email' ] ?></td>
221
+ <td class="product-licence-key"><?php echo $info[ 'licence' ][ 'licence_key' ] ?></td>
222
+ <?php endif; ?>
223
224
+ <td class="product-licence-expires"><?php echo date( "F j, Y", $info[ 'licence' ][ 'licence_expires' ] ); ?></td>
225
226
+ <?php if ( $this->show_renew_button ) : ?>
227
+ <td>
228
+ <a class="button-licence licence-renew" href="<?php echo $this->get_renewing_uri( $info[ 'licence' ][ 'licence_key' ] ) ?>" target="_blank">
229
+ <?php if ( $info[ 'licence' ][ 'is_membership' ] ) : ?>
230
+ <?php _e( 'Order again', 'yith-plugin-fw' ) ?>
231
+ <?php else : ?>
232
+ <?php __( 'Renew license', 'yith-plugin-fw' ) ?>
233
+ <?php endif; ?>
234
+ </a>
235
+ </td>
236
+ <?php endif; ?>
237
+ </tr>
238
+ <?php endforeach; ?>
239
</tbody>
240
</table>
241
+ <?php endif; ?>
242
</div>
templates/admin/premium.php CHANGED
@@ -154,29 +154,38 @@
154
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/01-bg.png) no-repeat #fff; background-position: 85% 75%
155
}
156
.section.two{
157
- background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/02-bg.png) no-repeat #fff; background-position: 15% 75%
158
}
159
.section.three{
160
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/03-bg.png) no-repeat #fff; background-position: 85% 75%
161
}
162
.section.four{
163
- background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/04-bg.png) no-repeat #fff; background-position: 15% 75%
164
}
165
.section.five{
166
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/05-bg.png) no-repeat #fff; background-position: 85% 75%
167
}
168
.section.six{
169
- background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/06-bg.png) no-repeat #fff; background-position: 15% 75%
170
}
171
.section.seven{
172
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/07-bg.png) no-repeat #fff; background-position: 85% 75%
173
}
174
.section.eight{
175
- background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/08-bg.png) no-repeat #fff; background-position: 15% 75%
176
}
177
.section.eleven{
178
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/11-bg.png) no-repeat #fff; background-position: 85% 75%
179
}
180
181
@media (max-width: 768px) {
182
.section{margin: 0}
@@ -350,7 +359,7 @@
350
</div>
351
</div>
352
</div>
353
- <div class="six section section-odd clear">
354
<div class="landing-container">
355
<div class="col-2">
356
<div class="section-title">
@@ -366,7 +375,7 @@
366
</div>
367
</div>
368
</div>
369
- <div class="seven section section-even clear">
370
<div class="landing-container">
371
<div class="col-1">
372
<img src="<?php echo YITH_WOOCOMPARE_URL ?>assets/images/09.png" alt="Related products" />
@@ -382,7 +391,7 @@
382
</div>
383
</div>
384
</div>
385
- <div class="six section section-odd clear">
386
<div class="landing-container">
387
<div class="col-2">
388
<div class="section-title">
@@ -406,7 +415,7 @@
406
<div class="col-2">
407
<div class="section-title">
408
<img src="<?php echo YITH_WOOCOMPARE_URL?>assets/images/11-icon.png" alt="icon 11" />
409
- <h2><?php _e('WIDGET','yith-woocommerce-compare');?></h2>
410
</div>
411
<p>
412
<?php echo sprintf( __('Thanks to YITH WooCommerce Comapre Widget users could verify at any time the complete list of products added to the compare tab and avoid to open the popup to check its existence. ','yith-woocommerce-compare'),'<b>','</b>'); ?>
@@ -414,6 +423,22 @@
414
</div>
415
</div>
416
</div>
417
<div class="section section-cta section-odd">
418
<div class="landing-container">
419
<div class="premium-cta">
154
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/01-bg.png) no-repeat #fff; background-position: 85% 75%
155
}
156
.section.two{
157
+ background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/02-bg.png) no-repeat #f1f1f1; background-position: 15% 75%
158
}
159
.section.three{
160
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/03-bg.png) no-repeat #fff; background-position: 85% 75%
161
}
162
.section.four{
163
+ background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/04-bg.png) no-repeat #f1f1f1; background-position: 15% 75%
164
}
165
.section.five{
166
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/05-bg.png) no-repeat #fff; background-position: 85% 75%
167
}
168
.section.six{
169
+ background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/06-bg.png) no-repeat #f1f1f1; background-position: 15% 75%
170
}
171
.section.seven{
172
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/07-bg.png) no-repeat #fff; background-position: 85% 75%
173
}
174
.section.eight{
175
+ background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/08-bg.png) no-repeat #f1f1f1; background-position: 15% 75%
176
+ }
177
+ .section.nine{
178
+ background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/09-bg.png) no-repeat #fff; background-position: 15% 75%
179
+ }
180
+ .section.ten{
181
+ background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/10-bg.png) no-repeat #f1f1f1; background-position: 15% 75%
182
}
183
.section.eleven{
184
background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/11-bg.png) no-repeat #fff; background-position: 85% 75%
185
}
186
+ .section.twelve{
187
+ background: url(<?php echo YITH_WOOCOMPARE_URL ?>assets/images/12-bg.png) no-repeat #f1f1f1; background-position: 15% 75%
188
+ }
189
190
@media (max-width: 768px) {
191
.section{margin: 0}
359
</div>
360
</div>
361
</div>
362
+ <div class="eight section section-odd clear">
363
<div class="landing-container">
364
<div class="col-2">
365
<div class="section-title">
375
</div>
376
</div>
377
</div>
378
+ <div class="nine section section-even clear">
379
<div class="landing-container">
380
<div class="col-1">
381
<img src="<?php echo YITH_WOOCOMPARE_URL ?>assets/images/09.png" alt="Related products" />
391
</div>
392
</div>
393
</div>
394
+ <div class="ten section section-odd clear">
395
<div class="landing-container">
396
<div class="col-2">
397
<div class="section-title">
415
<div class="col-2">
416
<div class="section-title">
417
<img src="<?php echo YITH_WOOCOMPARE_URL?>assets/images/11-icon.png" alt="icon 11" />
418
+ <h2><?php _e('Compare list - widget','yith-woocommerce-compare');?></h2>
419
</div>
420
<p>
421
<?php echo sprintf( __('Thanks to YITH WooCommerce Comapre Widget users could verify at any time the complete list of products added to the compare tab and avoid to open the popup to check its existence. ','yith-woocommerce-compare'),'<b>','</b>'); ?>
423
</div>
424
</div>
425
</div>
426
+ <div class="twelve section section-odd clear">
427
+ <div class="landing-container">
428
+ <div class="col-2">
429
+ <div class="section-title">
430
+ <img src="<?php echo YITH_WOOCOMPARE_URL ?>assets/images/12-icon.png" alt="icon 12" />
431
+ <h2><?php _e('Compare counter - widget and shortcode','yith-woocommerce-compare');?></h2>
432
+ </div>
433
+ <p>
434
+ <?php echo sprintf( __( 'Moreover, if you want to give your users the chance to see in a glance how many products they have added to the Compare list, feel free to use the widget or the shortcode included. And their Compare list is always no more than one click away.','yith-woocommerce-compare' ),'<b>','</b>' ) ?>
435
+ </p>
436
+ </div>
437
+ <div class="col-1">
438
+ <img src="<?php echo YITH_WOOCOMPARE_URL ?>assets/images/12.png" alt="Social networks" />
439
+ </div>
440
+ </div>
441
+ </div>
442
<div class="section section-cta section-odd">
443
<div class="landing-container">
444
<div class="premium-cta">