YITH WooCommerce Ajax Search - Version 1.23.0

Version Description

  • Released on 07 September 2022 =
  • New: support for WooCommerce 6.9
  • Update: YITH plugin framework
Download this release

Release Info

Developer yithemes
Plugin Icon 128x128 YITH WooCommerce Ajax Search
Version 1.23.0
Comparing to
See all releases

Code changes from version 1.22.2 to 1.23.0

Files changed (77) hide show
  1. init.php +5 -5
  2. languages/yith-woocommerce-ajax-search.pot +2 -2
  3. plugin-fw/assets/css/scss/yith-plugin-ui.scss +0 -8
  4. plugin-fw/assets/css/scss/yith-plugin-ui/_animations.scss +0 -92
  5. plugin-fw/assets/css/scss/yith-plugin-ui/_components.scss +0 -12
  6. plugin-fw/assets/css/scss/yith-plugin-ui/_head_comment.scss +0 -6
  7. plugin-fw/assets/css/scss/yith-plugin-ui/_tables.scss +0 -56
  8. plugin-fw/assets/css/scss/yith-plugin-ui/_taxonomy.scss +0 -52
  9. plugin-fw/assets/css/scss/yith-plugin-ui/_variables.scss +0 -121
  10. plugin-fw/assets/css/scss/yith-plugin-ui/_wp-pages.scss +0 -88
  11. plugin-fw/assets/css/scss/yith-plugin-ui/components/_action-button.scss +0 -80
  12. plugin-fw/assets/css/scss/yith-plugin-ui/components/_boxed-row.scss +0 -14
  13. plugin-fw/assets/css/scss/yith-plugin-ui/components/_buttons.scss +0 -224
  14. plugin-fw/assets/css/scss/yith-plugin-ui/components/_confirm.scss +0 -41
  15. plugin-fw/assets/css/scss/yith-plugin-ui/components/_list-table-blank-state.scss +0 -25
  16. plugin-fw/assets/css/scss/yith-plugin-ui/components/_modal.scss +0 -128
  17. plugin-fw/assets/css/scss/yith-plugin-ui/components/_tabs.scss +0 -51
  18. plugin-fw/assets/css/scss/yith-plugin-ui/components/_tip-tip.scss +0 -80
  19. plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_buttons.scss +0 -124
  20. plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_tables.scss +0 -159
  21. plugin-fw/assets/css/welcome-modal.css +72 -0
  22. plugin-fw/assets/css/yith-bh-onboarding.css +1 -0
  23. plugin-fw/assets/css/yith-plugin-ui.css +73 -0
  24. plugin-fw/assets/js/welcome-modal.js +27 -0
  25. plugin-fw/assets/js/welcome-modal.min.js +1 -0
  26. plugin-fw/includes/builders/gutenberg/src/common/actions-to-jquery-events.js +0 -32
  27. plugin-fw/includes/builders/gutenberg/src/common/ajaxFetch.js +0 -42
  28. plugin-fw/includes/builders/gutenberg/src/common/checkForDeps.js +0 -46
  29. plugin-fw/includes/builders/gutenberg/src/common/generateShortcode.js +0 -42
  30. plugin-fw/includes/builders/gutenberg/src/common/icons.js +0 -12
  31. plugin-fw/includes/builders/gutenberg/src/common/index.js +0 -4
  32. plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/index.js +0 -96
  33. plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/style.scss +0 -9
  34. plugin-fw/includes/builders/gutenberg/src/components/color-picker-control/index.js +0 -53
  35. plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/index.js +0 -56
  36. plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/multiple-select.js +0 -186
  37. plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/style.scss +0 -135
  38. plugin-fw/includes/builders/gutenberg/src/components/shortcode/index.js +0 -152
  39. plugin-fw/includes/builders/gutenberg/src/components/shortcode/style.scss +0 -64
  40. plugin-fw/includes/builders/gutenberg/src/edit.js +0 -234
  41. plugin-fw/includes/builders/gutenberg/src/index.js +0 -53
  42. plugin-fw/includes/class-yit-assets.php +2 -0
  43. plugin-fw/includes/class-yit-plugin-panel-woocommerce.php +1 -0
  44. plugin-fw/includes/class-yit-plugin-panel.php +271 -38
  45. plugin-fw/includes/class-yith-post-type-admin.php +1 -1
  46. plugin-fw/init.php +2 -2
  47. plugin-fw/languages/yith-plugin-fw-el.mo +0 -0
  48. plugin-fw/languages/yith-plugin-fw-el.po +88 -44
  49. plugin-fw/languages/yith-plugin-fw-es_ES.mo +0 -0
  50. plugin-fw/languages/yith-plugin-fw-es_ES.po +99 -59
  51. plugin-fw/languages/yith-plugin-fw-it_IT.mo +0 -0
  52. plugin-fw/languages/yith-plugin-fw-it_IT.po +99 -59
  53. plugin-fw/languages/yith-plugin-fw-nl_NL.mo +0 -0
  54. plugin-fw/languages/yith-plugin-fw-nl_NL.po +93 -54
  55. plugin-fw/languages/yith-plugin-fw-ru_RU.mo +0 -0
  56. plugin-fw/languages/yith-plugin-fw-ru_RU.po +93 -54
  57. plugin-fw/languages/yith-plugin-fw-zh_CN.mo +0 -0
  58. plugin-fw/languages/yith-plugin-fw-zh_CN.po +94 -56
  59. plugin-fw/languages/yith-plugin-fw.pot +88 -44
  60. plugin-fw/phpcs.xml +6 -0
  61. plugin-fw/templates/components/list-items.php +83 -0
  62. plugin-fw/templates/panel/welcome-modals/update.php +66 -0
  63. plugin-fw/templates/panel/welcome-modals/welcome.php +62 -0
  64. plugin-fw/tests/bootstrap.php +0 -167
  65. plugin-fw/tests/framework/fixtures/panel-all-options.php +0 -240
  66. plugin-fw/tests/framework/helpers/class-yith-plugin-fw-panels-helper.php +0 -83
  67. plugin-fw/tests/framework/plugin-options/wc-panel-options.php +0 -43
  68. plugin-fw/tests/unit-tests/class-yith-plugin-fw-tests-plugin-panel-wc.php +0 -49
  69. plugin-fw/tools/local-env/docker/phpunit/Dockerfile +0 -12
  70. plugin-fw/tools/local-env/install-wp-tests.sh +0 -154
  71. plugin-fw/tools/local-env/mysql-init.sql +0 -7
  72. plugin-fw/tools/local-env/phpunit-config.ini +0 -6
  73. plugin-fw/tools/local-env/scripts/docker.js +0 -6
  74. plugin-fw/tools/local-env/scripts/install.js +0 -15
  75. plugin-fw/tools/local-env/scripts/start.js +0 -7
  76. plugin-fw/tools/local-env/yith-plugin-fw-loader.php +0 -50
  77. readme.txt +5 -1
init.php CHANGED
@@ -3,17 +3,17 @@
3
  * Plugin Name: YITH WooCommerce Ajax Search
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/
5
  * Description: <code><strong>YITH WooCommerce Ajax Search</strong></code> is the plugin that allows you to search for a specific product by inserting a few characters. Thanks to <strong>Ajax Search</strong>, users can quickly find the contents they are interested in without wasting time among site pages. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
6
- * Version: 1.22.2
7
  * Author: YITH
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-ajax-search
10
  * Domain Path: /languages/
11
- * WC requires at least: 6.6
12
- * WC tested up to: 6.8
13
  *
14
  * @author YITH
15
  * @package YITH WooCommerce Ajax Search
16
- * @version 1.22.2
17
  */
18
 
19
  /*
@@ -71,7 +71,7 @@ if ( ! function_exists( 'yith_plugin_registration_hook' ) ) {
71
 
72
  register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
73
 
74
- ! defined( 'YITH_WCAS_VERSION' ) && define( 'YITH_WCAS_VERSION', '1.22.2' );
75
  ! defined( 'YITH_WCAS_FREE_INIT' ) && define( 'YITH_WCAS_FREE_INIT', plugin_basename( __FILE__ ) );
76
  ! defined( 'YITH_WCAS' ) && define( 'YITH_WCAS', true );
77
  ! defined( 'YITH_WCAS_FILE' ) && define( 'YITH_WCAS_FILE', __FILE__ );
3
  * Plugin Name: YITH WooCommerce Ajax Search
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/
5
  * Description: <code><strong>YITH WooCommerce Ajax Search</strong></code> is the plugin that allows you to search for a specific product by inserting a few characters. Thanks to <strong>Ajax Search</strong>, users can quickly find the contents they are interested in without wasting time among site pages. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
6
+ * Version: 1.23.0
7
  * Author: YITH
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-ajax-search
10
  * Domain Path: /languages/
11
+ * WC requires at least: 6.7
12
+ * WC tested up to: 6.9
13
  *
14
  * @author YITH
15
  * @package YITH WooCommerce Ajax Search
16
+ * @version 1.23.0
17
  */
18
 
19
  /*
71
 
72
  register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
73
 
74
+ ! defined( 'YITH_WCAS_VERSION' ) && define( 'YITH_WCAS_VERSION', '1.23.0' );
75
  ! defined( 'YITH_WCAS_FREE_INIT' ) && define( 'YITH_WCAS_FREE_INIT', plugin_basename( __FILE__ ) );
76
  ! defined( 'YITH_WCAS' ) && define( 'YITH_WCAS', true );
77
  ! defined( 'YITH_WCAS_FILE' ) && define( 'YITH_WCAS_FILE', __FILE__ );
languages/yith-woocommerce-ajax-search.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the YITH WooCommerce Ajax Search package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: YITH WooCommerce Ajax Search 1.22.2\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/yith-woocommerce-ajax-search\n"
8
- "POT-Creation-Date: 2022-08-10 09:16:11+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
2
  # This file is distributed under the same license as the YITH WooCommerce Ajax Search package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: YITH WooCommerce Ajax Search 1.23.0\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/yith-woocommerce-ajax-search\n"
8
+ "POT-Creation-Date: 2022-09-07 15:52:59+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
plugin-fw/assets/css/scss/yith-plugin-ui.scss DELETED
@@ -1,8 +0,0 @@
1
- @import "yith-plugin-ui/head_comment";
2
-
3
- @import "yith-plugin-ui/variables";
4
- @import "yith-plugin-ui/wp-pages";
5
- @import "yith-plugin-ui/taxonomy";
6
- @import "yith-plugin-ui/components";
7
- @import "yith-plugin-ui/tables";
8
- @import "yith-plugin-ui/animations";
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/_animations.scss DELETED
@@ -1,92 +0,0 @@
1
- /**
2
- * YITH Animations
3
- */
4
-
5
- .yith-plugin-fw-animate__appear-from-bottom{
6
- animation: yith-plugin-fw-appear-from-bottom .3s forwards;
7
- }
8
-
9
- .yith-plugin-fw-animate__appear-from-top{
10
- animation: yith-plugin-fw-appear-from-top .3s forwards;
11
- }
12
-
13
- .yith-plugin-fw-animate__fade-in{
14
- animation: yith-plugin-fw-fade-in .3s forwards;
15
- }
16
-
17
-
18
- @-webkit-keyframes yith-plugin-fw-appear-from-top {
19
- from {
20
- opacity: 0;
21
- transform: translateY(-30%);
22
- -webkit-transform: translateY(-30%);
23
- }
24
-
25
- to {
26
- opacity: 1;
27
- transform: translateY(0);
28
- -webkit-transform: translateY(0);
29
- }
30
- }
31
-
32
- @keyframes yith-plugin-fw-appear-from-top {
33
- from {
34
- opacity: 0;
35
- transform: translateY(-30%);
36
- -webkit-transform: translateY(-30%);
37
- }
38
-
39
- to {
40
- opacity: 1;
41
- transform: translateY(0);
42
- -webkit-transform: translateY(0);
43
- }
44
- }
45
-
46
- @-webkit-keyframes yith-plugin-fw-appear-from-bottom {
47
- from {
48
- opacity: 0;
49
- transform: translateY(+30%);
50
- -webkit-transform: translateY(+30%);
51
- }
52
-
53
- to {
54
- opacity: 1;
55
- transform: translateY(0);
56
- -webkit-transform: translateY(0);
57
- }
58
- }
59
-
60
- @keyframes yith-plugin-fw-appear-from-bottom {
61
- from {
62
- opacity: 0;
63
- transform: translateY(+30%);
64
- -webkit-transform: translateY(+30%);
65
- }
66
-
67
- to {
68
- opacity: 1;
69
- transform: translateY(0);
70
- -webkit-transform: translateY(0);
71
- }
72
- }
73
-
74
- @-webkit-keyframes yith-plugin-fw-fade-in {
75
- from {
76
- opacity: 0;
77
- }
78
-
79
- to {
80
- opacity: 1;
81
- }
82
- }
83
-
84
- @keyframes yith-plugin-fw-fade-in {
85
- from {
86
- opacity: 0;
87
- }
88
-
89
- to {
90
- opacity: 1;
91
- }
92
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/_components.scss DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * YITH Plugin UI - Components
3
- */
4
-
5
- @import "components/action-button";
6
- @import "components/buttons";
7
- @import "components/boxed-row";
8
- @import "components/confirm";
9
- @import "components/list-table-blank-state";
10
- @import "components/modal";
11
- @import "components/tip-tip";
12
- @import "components/tabs";
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/_head_comment.scss DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * YITH Plugin UI style
3
- *
4
- * IMPORTANT: This file is automatically generated through SCSS files.
5
- * Please don't edit it manually!
6
- */
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/_tables.scss DELETED
@@ -1,56 +0,0 @@
1
- /**
2
- * YITH Plugin UI - Post Type Style
3
- */
4
-
5
- @import "mixins/tables";
6
-
7
- table.yith-plugin-fw__classic-table {
8
- @include classic-table;
9
-
10
- &.wp-list-table{
11
- @include wp-table-commons;
12
- }
13
- }
14
-
15
- table.yith-plugin-fw__boxed-table {
16
- @include boxed-table;
17
-
18
- &.wp-list-table{
19
- @include wp-table-commons;
20
- }
21
- }
22
-
23
- // WP List Tables
24
- .yith-plugin-ui--classic-wp-list-style, .yith-plugin-ui #plugin-fw-wc .yith-plugin-ui--classic-wp-list-style {
25
-
26
- table.wp-list-table {
27
- @include classic-table;
28
-
29
- @include wp-table-commons;
30
- }
31
-
32
- .tablenav.bottom {
33
- display: none;
34
-
35
- .yith-plugin-fw__list-table-blank-state {
36
- display: flex;
37
- }
38
- }
39
- }
40
-
41
- .yith-plugin-ui--boxed-wp-list-style, .yith-plugin-ui #plugin-fw-wc .yith-plugin-ui--boxed-wp-list-style {
42
-
43
- table.wp-list-table {
44
- @include boxed-table;
45
-
46
- @include wp-table-commons;
47
- }
48
-
49
- .tablenav.bottom {
50
- display: none;
51
-
52
- .yith-plugin-fw__list-table-blank-state {
53
- display: flex;
54
- }
55
- }
56
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/_taxonomy.scss DELETED
@@ -1,52 +0,0 @@
1
- /**
2
- * YITH Plugin UI - Taxonomy Style
3
- */
4
-
5
- .yith-plugin-ui.yith-plugin-ui--taxonomy-type, .yith-plugin-ui--taxonomy-type {
6
-
7
- // List
8
-
9
- #col-container {
10
- display: flex;
11
- }
12
-
13
- #col-left {
14
- padding: 20px;
15
- background: #f1f1f1;
16
- border-radius: 8px;
17
- box-sizing: border-box;
18
- margin-right: 15px;
19
- }
20
-
21
- #col-right {
22
- flex: 1;
23
- }
24
-
25
- h2 {
26
- border: none;
27
- padding: 0;
28
- font-size: 14px;
29
- background: transparent;
30
- }
31
-
32
- // Edit Tax
33
- .wrap h1 {
34
- color: #2a8db0;
35
- font-size: 16px;
36
- font-weight: 600;
37
- }
38
- }
39
-
40
- @media screen and (max-width: 782px) {
41
- .yith-plugin-ui.yith-plugin-ui--taxonomy-type {
42
- #col-container {
43
- display: block;
44
- }
45
-
46
- #col-left, #col-right {
47
- float: none;
48
- width: 100%;
49
- }
50
- }
51
- }
52
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/_variables.scss DELETED
@@ -1,121 +0,0 @@
1
- /**
2
- * YITH CSS Variables
3
- */
4
-
5
- $content_bg: #ffffff; // Content Background.
6
- $content_text: #3c434a; // Content Text.
7
-
8
- $primary: #00799f; // Primary color, for buttons
9
- $primary_hover: #0094c4; // Primary hover color, for buttons
10
- $primary_focus: #bddce6; // Primary focus color, for buttons
11
- $primary_text: #ffffff; // Text on primary color bg
12
-
13
- $delete: #c41d04; // color for delete buttons
14
- $delete_hover: lighten($delete, 5%); // color for delete buttons - hover
15
- $delete_text: #ffffff; // Text on delete buttons
16
- $delete_focus: #f0d2cd; // Delete focus color, for buttons
17
-
18
- // Outline is used to stylize Secondary buttons.
19
- $outline_text: #0087b3; // outline button - text color
20
- $outline_border: #0094c4; // outline button - border color
21
- $outline_bg: rgba(255, 255, 255, 0); // outline button - background color
22
- $outline_bg_hover: rgba(157, 198, 205, .2); // outline button - background color on hover
23
- $outline_border_hover: #007ba3; // outline button - border color on hover
24
- $outline_focus: #dfeef2; // Outline focus color, for buttons
25
-
26
- $delete_outline_text: $delete; // Delete-outline button - text color
27
- $delete_outline_border: $delete; // Delete-outline button - border color
28
- $delete_outline_bg: rgba(205, 157, 157, 0); // Delete-outline button - background color
29
- $delete_outline_bg_hover: rgba(232, 184, 184, 0.15); // Delete-outline button - background color on hover
30
- $delete_outline_border_hover: #db2b11; // Delete-outline button - border color on hover
31
- $delete_outline_focus: #ffe9e7; // Delete-outline focus color, for buttons
32
-
33
- $update: #94aa09; // Update button - background
34
- $update_hover: darken($update, 5%); // Update button - hover
35
- $update_text: #ffffff; // Text on update button background
36
- $update_focus: #e7eccc; // Text on update button background
37
-
38
- $accent: #98aa36;
39
-
40
- $light_bg: #f5fafc;
41
- $light_border_color: #d7e3e7;
42
- $light_shadow: rgba(145, 191, 227, 0.11);
43
- $light_accent: #0073aa;
44
-
45
- $success: #98aa36;
46
- $success_light: lighten($success, 30%);
47
- $success_lighter: lighten($success, 43%);
48
- $success_lightest: lighten($success, 50%);
49
-
50
-
51
- $table_row_highlight: #f0f6fb;
52
- $table_row_striped: #f6f7f7;
53
- $table_border_light: #eff0f0;
54
-
55
- $field_border_color: #d8d8d8;
56
- $field_border_weight: 1px;
57
- $field_border: $field_border_weight solid $field_border_color;
58
-
59
- $link: #0079b0; // Link Color.
60
-
61
- // Extra variables: these will be not converted to CSS Variables
62
- $wp_menu_size: 160px;
63
- $wp_menu_folded_size: 36px;
64
- $wp_menu_mobile_size: 190px;
65
- $wp_top_bar_size: 32px;
66
- $wp_top_bar_mobile_size: 46px;
67
-
68
- // export vars as CSS vars
69
- :root {
70
- --yith-content-bg: #{$content_bg};
71
- --yith-content-text: #{$content_text};
72
- --yith-primary: #{$primary};
73
- --yith-primary-hover: #{$primary_hover};
74
- --yith-primary-focus: #{$primary_focus};
75
- --yith-primary-text: #{$primary_text};
76
-
77
- --yith-delete: #{$delete};
78
- --yith-delete-hover: #{$delete_hover};
79
- --yith-delete-text: #{$delete_text};
80
- --yith-delete-focus: #{$delete_focus};
81
-
82
- --yith-update: #{$update};
83
- --yith-update-hover: #{$update_hover};
84
- --yith-update-text: #{$update_text};
85
- --yith-update-focus: #{$update_focus};
86
-
87
- --yith-outline-text: #{$outline_text};
88
- --yith-outline-border: #{$outline_border};
89
- --yith-outline-bg: #{$outline_bg};
90
- --yith-outline-bg-hover: #{$outline_bg_hover};
91
- --yith-outline-border-hover: #{$outline_border_hover};
92
- --yith-outline-focus: #{$outline_focus};
93
-
94
- --yith-delete-outline-text: #{$delete_outline_text};
95
- --yith-delete-outline-border: #{$delete_outline_border};
96
- --yith-delete-outline-bg: #{$delete_outline_bg};
97
- --yith-delete-outline-bg-hover: #{$delete_outline_bg_hover};
98
- --yith-delete-outline-border-hover: #{$delete_outline_border_hover};
99
- --yith-delete-outline-focus: #{$delete_outline_focus};
100
-
101
- --yith-accent: #{$accent};
102
-
103
- --yith-light-bg: #{$light_bg};
104
- --yith-light-border-color: #{$light_border_color};
105
- --yith-light-shadow: #{$light_shadow};
106
- --yith-light-accent: #{$light_accent};
107
-
108
- --yith-success: #{$success};
109
- --yith-success-light: #{$success_light};
110
- --yith-success-lighter: #{$success_lighter};
111
- --yith-success-lightest: #{$success_lightest};
112
-
113
- --yith-table-row-highlight: #{$table_row_highlight};
114
- --yith-table-row-striped: #{$table_row_striped};
115
- --yith-table-border-light: #{$table_border_light};
116
-
117
- --yith-field-border-color: #{$field_border_color};
118
- --yith-field-border-weight: #{$field_border_color};
119
- --yith-field-border: #{$field_border};
120
- --yith-link: #{$link};
121
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/_wp-pages.scss DELETED
@@ -1,88 +0,0 @@
1
- /**
2
- * YITH Plugin UI - WP Pages
3
- */
4
-
5
- .yith-plugin-fw-wp-page-wrapper {
6
-
7
- .yith-plugin-fw__back-to-wp-list__wrapper {
8
- margin: -5px 0 15px;
9
-
10
- .yith-plugin-fw__back-to-wp-list {
11
- text-decoration: none;
12
- font-weight: 600;
13
- text-transform: uppercase;
14
- color: var(--yith-link);
15
- vertical-align: middle;
16
-
17
- &:before {
18
- content: "\e901";
19
- font-family: yith-icon;
20
- margin-right: 5px;
21
- font-size: .8em;
22
- vertical-align: middle;
23
- }
24
- }
25
- }
26
-
27
- .wrap div#message.updated {
28
- display: none;
29
- padding: 15px 40px 15px 45px;
30
- margin: 15px 0 20px;
31
- border-radius: 5px;
32
- background: var(--yith-success-lightest);
33
- border: 1px solid var(--yith-success-light);
34
- font-weight: 600;
35
- font-size: 14px;
36
- text-align: left;
37
- color: var(--yith-content-text);
38
- box-shadow: 1px 1px 2px var(--yith-success-lighter);
39
-
40
-
41
- &:before {
42
- font-family: yith-icon;
43
- content: "\e921";
44
- position: absolute;
45
- top: 50%;
46
- left: 13px;
47
- font-size: 21px;
48
- font-weight: 400;
49
- transform: translateY(-50%);
50
- color: var(--yith-success);
51
- }
52
-
53
- p {
54
- padding: 0;
55
- margin: 0;
56
- }
57
-
58
- .notice-dismiss {
59
- position: absolute;
60
- top: 50%;
61
- right: 10px;
62
- transform: translateY(-50%);
63
- border-radius: 50%;
64
- color: var(--yith-success);
65
- padding: 7px;
66
- background: transparent;
67
- box-shadow: 0 0 0 5px rgba(0, 0, 0, 0);
68
- transition: all .3s ease-in-out;
69
-
70
- &:before {
71
- font-family: yith-icon;
72
- content: "\e906";
73
- font-weight: 600;
74
- font-size: 12px;
75
- color: inherit;
76
- }
77
-
78
- &:hover {
79
- box-shadow: 0 0 0 0 var(--yith-success-lighter);
80
- background: var(--yith-success-lighter);
81
- }
82
-
83
- &:hover:before, &:active:before, &:focus:before {
84
- color: inherit;
85
- }
86
- }
87
- }
88
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_action-button.scss DELETED
@@ -1,80 +0,0 @@
1
- .yith-plugin-ui .yith-plugin-fw__action-button, .yith-plugin-fw__action-button {
2
- height: 35px;
3
- width: 35px;
4
- background-color: var(--yith-content-bg);
5
- display: inline-block;
6
- border: 0;
7
- border-radius: 50%;
8
- transition: .3s;
9
- cursor: pointer;
10
- box-shadow: 0 2px 7px rgba(170, 198, 222, .5);
11
- outline: none;
12
- position: relative;
13
- margin: 0 5px 5px 0;
14
- vertical-align: middle;
15
-
16
- .yith-plugin-fw__action-button__link {
17
- height: 100%;
18
- width: 100%;
19
- display: inline-block;
20
- }
21
-
22
- .yith-plugin-fw__action-button__icon {
23
- position: absolute;
24
- color: var(--yith-link);
25
- font-size: 17px;
26
- top: 50%;
27
- left: 50%;
28
- transform: translateX(-50%) translateY(-50%);
29
- }
30
-
31
- &.yith-plugin-fw__action-button--trash-action .yith-plugin-fw__action-button__icon,
32
- &.yith-plugin-fw__action-button--delete-action .yith-plugin-fw__action-button__icon {
33
- color: #a10000;
34
- }
35
-
36
- .yith-plugin-fw__action-button__menu {
37
- position: absolute;
38
- display: none;
39
- flex-direction: column;
40
- width: max-content;
41
- right: 0;
42
- margin: 5px 0 0 0;
43
- padding: 8px 0;
44
- background: var(--yith-content-bg);
45
- border-radius: 5px;
46
- box-shadow: 0 2px 7px rgba(170, 198, 222, .5);
47
- z-index: 10;
48
- animation: yith-plugin-fw-appear-from-top .3s forwards;
49
- }
50
-
51
- .yith-plugin-fw__action-button__menu__item {
52
- margin: 0;
53
- display: block;
54
- padding: 7px 25px;
55
- color: var(--yith-content-text);
56
- cursor: pointer;
57
- text-decoration: none;
58
- text-align: right;
59
-
60
- &:hover {
61
- color: var(--yith-link);
62
- }
63
- }
64
-
65
- &.yith-plugin-fw__action-button--has-menu {
66
- .yith-plugin-fw__action-button__icon {
67
- color: var(--yith-content-text);
68
- }
69
-
70
- &.yith-plugin-fw__action-button--opened {
71
- .yith-plugin-fw__action-button__icon {
72
- color: var(--yith-link);
73
- }
74
-
75
- .yith-plugin-fw__action-button__menu {
76
- display: flex;
77
- }
78
- }
79
- }
80
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_boxed-row.scss DELETED
@@ -1,14 +0,0 @@
1
-
2
- .yith-plugin-fw__boxed-row, .yith-plugin-fw__boxed-row--hover-highlight {
3
- background: var(--yith-content-bg);
4
- border-radius: 5px;
5
- box-shadow: 0 0 0 1px var(--yith-light-border-color), 0 3px 11px 6px var(--yith-light-shadow);
6
- transition: background-color .2s ease-in-out;
7
- padding: 25px;
8
- margin-bottom: 25px;
9
- margin-top: 25px;
10
- }
11
-
12
- .yith-plugin-fw__boxed-row--hover-highlight:hover {
13
- background: var(--yith-table-row-highlight);
14
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_buttons.scss DELETED
@@ -1,224 +0,0 @@
1
- @import "../mixins/buttons";
2
-
3
- .yith-plugin-ui, .wp-core-ui .yith-plugin-ui {
4
-
5
- // WordPress Buttons.
6
- .button-primary, .button-secondary {
7
- border-radius : 3px;
8
- text-transform : none;
9
- box-shadow : none;
10
- border : 1px solid;
11
- font-weight : 600;
12
- padding : 0 12px;
13
- outline : none;
14
- height : auto;
15
- transition : all ease 0.3s;
16
- text-shadow : none;
17
- display : inline-block;
18
- text-decoration : none;
19
- cursor : pointer;
20
- white-space : nowrap;
21
-
22
- &:focus {
23
- outline : none;
24
- box-shadow : none;
25
- }
26
-
27
- &.button-small {
28
- padding : 0 8px;
29
- }
30
- }
31
-
32
- .button-secondary {
33
- @include button-secondary;
34
- }
35
-
36
- .button-primary {
37
- @include button-primary;
38
- }
39
-
40
- .button.action,
41
- #doaction,
42
- #doaction2,
43
- #post-query-submit,
44
- #posts-filter #delete_all,
45
- #search-submit,
46
- .button.filter-button {
47
- @include button;
48
- @include button-secondary;
49
- height : auto;
50
- line-height : 33px;
51
- border-radius : 8px;
52
- padding : 0 15px;
53
- font-weight : 600;
54
- }
55
-
56
- #posts-filter #delete_all {
57
- @include button-delete-outline;
58
- }
59
-
60
- .tablenav .tablenav-pages .button,
61
- .tablenav .tablenav-pages .tablenav-pages-navspan {
62
- @include button-secondary;
63
- }
64
-
65
- @media screen and (max-width : 782px) {
66
- .tablenav .tablenav-pages .button, .tablenav .tablenav-pages .tablenav-pages-navspan {
67
- min-width : 44px;
68
- padding : 12px 8px;
69
- font-size : 18px;
70
- line-height : 1;
71
- }
72
- }
73
-
74
- // YITH Buttons.
75
- .yith-plugin-fw__button, [class^="yith-plugin-fw__button--"], [class*=" yith-plugin-fw__button--"],
76
- .yith-add-button, .yith-edit-button, .yith-update-button, .yith-remove-button, .yith-plugin-fw-upload-button, .yith-save-button, .yith-plugin-fw-select-all, .yith-plugin-fw-deselect-all, .yith-plugin-fw-upload-button-reset // Old buttons.
77
- {
78
- @include button;
79
- }
80
-
81
- .yith-plugin-fw__button--primary {
82
- @include button-primary;
83
- }
84
-
85
- .yith-plugin-fw__button--secondary {
86
- @include button-secondary;
87
- }
88
-
89
- .yith-plugin-fw__button--delete {
90
- @include button-delete;
91
- }
92
-
93
- .yith-plugin-fw__button--add, .yith-add-button {
94
- @include button-primary;
95
-
96
- @include button-with-icon("\f115");
97
-
98
- &:before {
99
- display : inline-block;
100
- margin : 0 10px 0 -5px;
101
- font-size : .95em;
102
- transition : transform .2s, margin .2s, font-size .2s;
103
- transition-timing-function : ease-in-out;
104
- }
105
-
106
- &.closed {
107
- @include button-secondary;
108
-
109
- &:before {
110
- font-size : 1.15em;
111
- margin : 0 8px 0 -5px;
112
- transform : rotate(-45deg);
113
- }
114
- }
115
- }
116
-
117
- .yith-plugin-fw__button--close {
118
- @include button-secondary;
119
-
120
- @include button-with-icon("\f117");
121
- }
122
-
123
- .yith-plugin-fw__button--edit, .yith-edit-button {
124
- @include button-secondary;
125
-
126
- @include button-with-icon("\e907");
127
- }
128
-
129
- .yith-plugin-fw__button--update, .yith-update-button {
130
- @include button-update;
131
-
132
- @include button-with-icon("\e90b");
133
- }
134
-
135
- .yith-plugin-fw__button--trash, .yith-remove-button {
136
- @include button-delete;
137
-
138
- @include button-with-icon("\e90d");
139
- }
140
-
141
- .yith-plugin-fw__button--upload, .yith-plugin-fw-upload-button {
142
- @include button-primary;
143
-
144
- @include button-with-icon("\e90c");
145
- }
146
-
147
- // Old buttons.
148
- .yith-save-button {
149
- @include button-primary;
150
- }
151
-
152
- .yith-plugin-fw-select-all,
153
- .yith-plugin-fw-deselect-all,
154
- .yith-plugin-fw-upload-button-reset {
155
- @include button-secondary;
156
- }
157
-
158
- // with icons.
159
- .button-secondary span.yith-icon {
160
- margin-left : 0;
161
- margin-right : 10px;
162
- line-height : normal;
163
-
164
- &:before {
165
- color : inherit;
166
- font-size : 15px;
167
- font-weight : 400;
168
- }
169
- }
170
-
171
- // With icon
172
- .yith-plugin-fw__button--with-icon {
173
- position : relative;
174
- padding-left : 30px;
175
-
176
- i {
177
- position : absolute;
178
- top : 50%;
179
- left : 10px;
180
- transform : translateY(-50%);
181
- font-size : 1em;
182
- font-weight : 400;
183
- }
184
- }
185
-
186
-
187
- // Button Sizes
188
- .yith-plugin-fw__button--xl, .button-xl {
189
- padding : 0 20px;
190
- font-size : 14px;
191
- line-height : 38px;
192
-
193
- &::before {
194
- margin : 0 10px 0 -5px;
195
- }
196
-
197
- &.yith-plugin-fw__button--with-icon {
198
- padding-left : 40px;
199
-
200
- i {
201
- left : 14px;
202
- }
203
- }
204
- }
205
-
206
- .yith-plugin-fw__button--xxl {
207
- padding : 0 28px;
208
- font-size : 16px;
209
- line-height : 45px;
210
-
211
- &::before {
212
- margin : 0 15px 0 -10px;
213
- }
214
-
215
- &.yith-plugin-fw__button--with-icon {
216
- padding-left : 45px;
217
-
218
- i {
219
- left : 15px;
220
- }
221
- }
222
- }
223
- }
224
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_confirm.scss DELETED
@@ -1,41 +0,0 @@
1
- @import "../mixins/buttons";
2
-
3
- .yith-plugin-fw__confirm__wrap {
4
-
5
- .yith-plugin-fw__confirm__message {
6
- margin-bottom: 20px;
7
- }
8
-
9
- .yith-plugin-fw__confirm__footer {
10
- text-align: right;
11
- }
12
-
13
-
14
- .yith-plugin-fw__confirm__button {
15
- height: auto;
16
- line-height: 33px;
17
- border-radius: 4px;
18
- padding: 0 20px;
19
- font-weight: 600;
20
- cursor: pointer;
21
- display: inline-block;
22
- margin-right: 10px;
23
- white-space: nowrap;
24
-
25
- &:last-child {
26
- margin-right: 0;
27
- }
28
-
29
- &.yith-plugin-fw__confirm__button--cancel {
30
- @include button-secondary;
31
- }
32
-
33
- &.yith-plugin-fw__confirm__button--confirm {
34
- @include button-primary;
35
- }
36
-
37
- &.yith-plugin-fw__confirm__button--delete {
38
- @include button-delete;
39
- }
40
- }
41
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_list-table-blank-state.scss DELETED
@@ -1,25 +0,0 @@
1
- .yith-plugin-fw__list-table-blank-state {
2
- padding: 30px 30px 0;
3
- text-align: center;
4
- display: flex;
5
- flex-direction: column;
6
-
7
- & > * {
8
- margin-bottom: 30px;
9
- }
10
-
11
- img.yith-plugin-fw__list-table-blank-state__icon {
12
- width: 100px;
13
- margin: 0 auto 30px;
14
- }
15
-
16
- i.yith-plugin-fw__list-table-blank-state__icon {
17
- font-size: 65px;
18
- margin: 0 auto 30px;
19
- }
20
-
21
- .yith-plugin-fw__list-table-blank-state__message {
22
- font-size: 1.4em;
23
- line-height: 1.5;
24
- }
25
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_modal.scss DELETED
@@ -1,128 +0,0 @@
1
- .yith-plugin-fw__modal__wrap {
2
- display: flex;
3
- align-items: center;
4
- justify-content: center;
5
- position: fixed;
6
- top: 0;
7
- left: 0;
8
- width: 100%;
9
- height: 100%;
10
- z-index: 999999;
11
- background: rgba(34, 59, 80, 0.7);
12
- animation: yith-plugin-fw-fade-in .3s forwards;
13
- box-sizing: border-box;
14
-
15
- .yith-plugin-fw__modal__main {
16
- position: relative;
17
- background: #fff;
18
- border-radius: 10px;
19
- box-shadow: 1px 3px 16px rgba(0, 22, 59, .4);
20
- animation: yith-plugin-fw-appear-from-top .3s forwards;
21
- overflow: hidden;
22
- max-width: calc(100% - 20px);
23
- max-height: calc(100% - 20px);
24
- display: flex;
25
- flex-direction: column;
26
- }
27
-
28
- .yith-plugin-fw__modal__close {
29
- position: absolute;
30
- top: 0;
31
- right: 0;
32
- padding: 8px;
33
- font-size: 14px;
34
- font-weight: 600;
35
- color: #aaa;
36
- cursor: pointer;
37
-
38
- &:hover {
39
- color: #444;
40
- }
41
- }
42
-
43
- .yith-plugin-fw__modal__title {
44
- padding: 20px 25px;
45
- font-size: 1.5em;
46
- font-weight: 600;
47
- line-height: 1.5em;
48
- color: var(--yith-primary);
49
- }
50
-
51
- .yith-plugin-fw__modal__content {
52
- padding: 0 25px 25px;
53
- }
54
-
55
- .yith-plugin-fw__modal__footer {
56
- padding: 25px;
57
- background: #f7f7f7;
58
- }
59
-
60
- &.yith-plugin-fw__modal__wrap--scroll-content {
61
- .yith-plugin-fw__modal__content {
62
- overflow-y: auto;
63
- }
64
- }
65
- }
66
-
67
- .yith-plugin-fw__modal--opened {
68
- overflow: hidden;
69
- }
70
-
71
- // Allow seeing WP Menu.
72
-
73
- .yith-plugin-fw__modal--allow-wp-menu {
74
- .yith-plugin-fw__modal__wrap {
75
- z-index: 99;
76
- padding-left: $wp_menu_size;
77
- padding-top: $wp_top_bar_size;
78
- }
79
-
80
- #adminmenuback {
81
- z-index: 100;
82
- }
83
- }
84
-
85
- @media only screen and (max-width: 960px) {
86
- .folded {
87
- .yith-plugin-fw__modal__wrap {
88
- padding-left: $wp_menu_folded_size;
89
- }
90
- }
91
-
92
- .auto-fold {
93
- .yith-plugin-fw__modal--allow-wp-menu {
94
- .yith-plugin-fw__modal__wrap {
95
- padding-left: $wp_menu_folded_size;
96
- }
97
- }
98
- }
99
- }
100
-
101
- @media screen and (max-width: 782px) {
102
- .auto-fold {
103
- .yith-plugin-fw__modal--allow-wp-menu {
104
- .yith-plugin-fw__modal__wrap {
105
- z-index: 999999;
106
- width: 100%;
107
- height: 100%;
108
- padding-left: 0;
109
- padding-top: 0;
110
- }
111
- }
112
-
113
- .yith-plugin-fw__modal--allow-wp-menu-in-mobile {
114
- .yith-plugin-fw__modal__wrap {
115
- z-index: 99;
116
- padding-top: $wp_top_bar_mobile_size;
117
- }
118
-
119
- &.wp-responsive-open {
120
- .yith-plugin-fw__modal__wrap {
121
- padding-left: $wp_menu_mobile_size;
122
- }
123
- }
124
- }
125
-
126
-
127
- }
128
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_tabs.scss DELETED
@@ -1,51 +0,0 @@
1
- .yith-plugin-ui .yith-plugin-fw__tabs {
2
- background : transparent;
3
- padding : 0;
4
- margin : 0;
5
- display : flex;
6
- align-items : center;
7
- border-bottom : 1px solid var(--yith-light-border-color);
8
- flex-wrap : wrap;
9
-
10
- .yith-plugin-fw__tab {
11
- border : 0;
12
- margin : 0;
13
- display : block;
14
- }
15
-
16
- .yith-plugin-fw__tab__handler, a.yith-plugin-fw__tab__handler {
17
- background : var(--yith-content-bg);
18
- border : 0;
19
- border-bottom : 3px solid transparent;
20
- padding : 17px 20px 15px;
21
- font-weight : 600;
22
- color : inherit;
23
- text-decoration : none;
24
- display : block;
25
- transition : all .2s ease-in-out;
26
- opacity : .55;
27
-
28
- &:hover {
29
- opacity : 1;
30
- background : var(--yith-light-bg);
31
- color : var(--yith-light-accent);
32
- }
33
- }
34
-
35
- .yith-plugin-fw__tab.yith-plugin-fw__tab--active .yith-plugin-fw__tab__handler,
36
- .yith-plugin-fw__tab__handler.yith-plugin-fw__tab__handler--enabled {
37
- opacity : 1;
38
- color : var(--yith-light-accent);
39
- border-color : var(--yith-light-accent);
40
- }
41
- }
42
-
43
- .yith-plugin-ui .yith-plugin-fw__tab-panel {
44
- padding : 20px;
45
-
46
- &.yith-plugin-fw__tab-panel--outlined {
47
- border-width : 0 1px 1px 1px;
48
- border-style : solid;
49
- border-color : var(--yith-light-border-color);
50
- }
51
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/components/_tip-tip.scss DELETED
@@ -1,80 +0,0 @@
1
- @import "../mixins/buttons";
2
-
3
- #tiptip_holder {
4
- display: none;
5
- pointer-events: none; /* Fix tip flashing when hover the edge */
6
- z-index: 8675309;
7
- position: absolute;
8
- top: 0;
9
-
10
- /*rtl:ignore*/
11
- left: 0;
12
-
13
-
14
- &.tip_top {
15
- padding-bottom: 5px;
16
-
17
- #tiptip_arrow_inner {
18
- margin-top: -7px;
19
- margin-left: -6px;
20
- border-top-color: #333;
21
- }
22
- }
23
-
24
- &.tip_bottom {
25
- padding-top: 5px;
26
-
27
- #tiptip_arrow_inner {
28
- margin-top: -5px;
29
- margin-left: -6px;
30
- border-bottom-color: #333;
31
- }
32
- }
33
-
34
- &.tip_right {
35
- padding-left: 5px;
36
-
37
- #tiptip_arrow_inner {
38
- margin-top: -6px;
39
- margin-left: -5px;
40
- border-right-color: #333;
41
- }
42
- }
43
-
44
- &.tip_left {
45
- padding-right: 5px;
46
-
47
- #tiptip_arrow_inner {
48
- margin-top: -6px;
49
- margin-left: -7px;
50
- border-left-color: #333;
51
- }
52
- }
53
-
54
-
55
- #tiptip_content {
56
- color: #fff;
57
- font-size: 0.8em;
58
- max-width: 150px;
59
- background: #333;
60
- text-align: center;
61
- border-radius: 3px;
62
- padding: 0.618em 1em;
63
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
64
-
65
- code {
66
- padding: 1px;
67
- background: #888;
68
- }
69
- }
70
-
71
- #tiptip_arrow,
72
- #tiptip_arrow_inner {
73
- position: absolute;
74
- border-color: transparent;
75
- border-style: solid;
76
- border-width: 6px;
77
- height: 0;
78
- width: 0;
79
- }
80
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_buttons.scss DELETED
@@ -1,124 +0,0 @@
1
- @mixin button {
2
- display: inline-block;
3
- height: auto;
4
- line-height: 30px;
5
- border-radius: 4px;
6
- padding: 0 17px;
7
- font-weight: 600;
8
- cursor: pointer;
9
- transition: all .3s ease-in-out;
10
- text-decoration: none;
11
- white-space: nowrap;
12
-
13
- &:focus {
14
- outline: none;
15
- box-shadow: none;
16
- }
17
- }
18
-
19
- @mixin button-primary {
20
- background: var(--yith-primary);
21
- color: var(--yith-primary-text);
22
- border: 1px solid var(--yith-primary);
23
-
24
- &:focus {
25
- background: var(--yith-primary);
26
- color: var(--yith-primary-text);
27
- border: 1px solid var(--yith-primary);
28
- box-shadow: 0 0 0 3px var(--yith-primary-focus);
29
- }
30
-
31
- &:hover, &:active {
32
- background: var(--yith-primary-hover);
33
- color: var(--yith-primary-text);
34
- border: 1px solid var(--yith-primary-hover);
35
- }
36
- }
37
-
38
- @mixin button-secondary {
39
- background: var(--yith-outline-bg);
40
- border: 1px solid var(--yith-outline-border);
41
- color: var(--yith-outline-text);
42
-
43
- &:focus {
44
- background: var(--yith-outline-bg);
45
- border: 1px solid var(--yith-outline-border);
46
- color: var(--yith-outline-text);
47
- box-shadow: 0 0 0 3px var(--yith-outline-focus);
48
- }
49
-
50
- &:hover, &:active {
51
- background: var(--yith-outline-bg-hover);
52
- border-color: var(--yith-outline-border-hover);
53
- color: var(--yith-outline-text);
54
- }
55
- }
56
-
57
- @mixin button-update {
58
- background: var(--yith-update);
59
- color: var(--yith-update-text);
60
- border: 1px solid var(--yith-update);
61
-
62
- &:focus {
63
- background: var(--yith-update);
64
- color: var(--yith-update-text);
65
- border: 1px solid var(--yith-update);
66
- box-shadow: 0 0 0 3px var(--yith-update-focus);
67
- }
68
-
69
- &:hover, &:active {
70
- background: var(--yith-update-hover);
71
- color: var(--yith-update-text);
72
- border: 1px solid var(--yith-update-hover);
73
- }
74
- }
75
-
76
- @mixin button-delete {
77
- background: var(--yith-delete);
78
- color: var(--yith-delete-text);
79
- border: 1px solid var(--yith-delete);
80
-
81
- &:focus {
82
- background: var(--yith-delete);
83
- color: var(--yith-delete-text);
84
- border: 1px solid var(--yith-delete);
85
- box-shadow: 0 0 0 3px var(--yith-delete-focus);
86
- }
87
-
88
- &:hover, &:active {
89
- background: var(--yith-delete-hover);
90
- color: var(--yith-delete-text);
91
- border: 1px solid var(--yith-delete-hover);
92
- }
93
- }
94
-
95
- @mixin button-delete-outline {
96
- background: var(--yith-delete-outline-bg);
97
- border: 1px solid var(--yith-delete-outline-border);
98
- color: var(--yith-delete-outline-text);
99
-
100
- &:focus {
101
- background: var(--yith-delete-outline-bg);
102
- border: 1px solid var(--yith-delete-outline-border);
103
- color: var(--yith-delete-outline-text);
104
- box-shadow: 0 0 0 3px var(--yith-delete-outline-focus);
105
- }
106
-
107
- &:hover, &:active {
108
- background: var(--yith-delete-outline-bg-hover);
109
- border-color: var(--yith-delete-outline-border-hover);
110
- color: var(--yith-delete-outline-text);
111
- }
112
- }
113
-
114
- @mixin button-with-icon($icon) {
115
-
116
- &:before {
117
- font-family: yith-icon;
118
- content: $icon;
119
- margin: 0 8px 0 -5px;
120
- font-size: 1.15em;
121
- font-weight: 400;
122
- vertical-align: top;
123
- }
124
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_tables.scss DELETED
@@ -1,159 +0,0 @@
1
- @mixin table-action-buttons {
2
-
3
- thead th.column-actions, tfoot th.column-actions {
4
- visibility: hidden;
5
- }
6
-
7
- th.column-actions, td.column-actions {
8
- text-align: right;
9
- }
10
-
11
- .yith-plugin-fw__action-button:not(.yith-plugin-fw__action-button--visible) {
12
- opacity: 0;
13
- transition: .3s;
14
- }
15
-
16
- tbody tr:hover .yith-plugin-fw__action-button:not(.yith-plugin-fw__action-button--visible) {
17
- opacity: 1;
18
- }
19
- }
20
-
21
- @mixin wp-table-commons {
22
-
23
- tfoot {
24
- display: none;
25
- }
26
-
27
- .check-column {
28
- width: 2em;
29
- }
30
-
31
- th.sortable a, th.sorted a {
32
- padding: 0 8px 0 0;
33
- color: inherit;
34
-
35
- &:hover {
36
- color: var(--yith-link);
37
- }
38
- }
39
-
40
- .sorting-indicator {
41
- visibility: visible;
42
-
43
- &:before {
44
- font-family: yith-icon;
45
- content: "\f116";
46
- color: inherit;
47
- font-size: 10px;
48
- top: 0;
49
- left: 0;
50
- }
51
- }
52
-
53
- th.sorted.asc .sorting-indicator:before,
54
- th.desc:hover span.sorting-indicator:before,
55
- th.desc a:focus span.sorting-indicator:before {
56
- content: "\f113";
57
- font-weight: 600;
58
- }
59
-
60
- th.sorted.desc .sorting-indicator:before,
61
- th.asc:hover span.sorting-indicator:before,
62
- th.asc a:focus span.sorting-indicator:before {
63
- content: "\f110";
64
- font-weight: 600;
65
- }
66
- @include table-action-buttons;
67
- }
68
-
69
- @mixin classic-table {
70
- border: 2px solid var(--yith-table-border-light);
71
- background: var(--yith-content-bg);
72
- box-shadow: none;
73
- border-spacing: 0;
74
-
75
- th, thead td, tfoot td {
76
- text-align: left;
77
- line-height: 1.3em;
78
- font-size: 14px;
79
- }
80
-
81
- thead th, thead td {
82
- border-bottom: 0;
83
- }
84
-
85
- tfoot th, tfoot td {
86
- border-top: 0;
87
- }
88
-
89
- tbody tr th, tbody tr td {
90
- vertical-align: middle;
91
- padding: 15px;
92
- }
93
-
94
- tbody tr:hover {
95
- background: var(--yith-table-row-highlight);
96
- }
97
-
98
- thead td, thead th, tfoot td, tfoot th {
99
- padding: 15px;
100
- font-weight: 600;
101
- }
102
-
103
- tbody > :nth-child(odd) {
104
- background-color: var(--yith-table-row-striped);
105
- }
106
- }
107
-
108
-
109
- @mixin boxed-table {
110
- border: 0;
111
- border-spacing: 0 20px;
112
- box-shadow: none;
113
- background: transparent;
114
-
115
- th, thead td, tfoot td {
116
- text-align: left;
117
- line-height: 1.3em;
118
- font-size: 14px;
119
- }
120
-
121
- thead th, thead td {
122
- border-bottom: 0;
123
- padding: 0 0 0 25px;
124
- font-weight: 600;
125
- }
126
-
127
- tbody tr {
128
- background: var(--yith-content-bg);
129
- border-radius: 5px;
130
- box-shadow: 0 0 0 1px var(--yith-light-border-color), 0 3px 11px 6px var(--yith-light-shadow);
131
- transition: background-color .2s ease-in-out;
132
- }
133
-
134
- tbody tr th, tbody tr td {
135
- background: transparent;
136
- vertical-align: middle;
137
- padding: 25px 0 25px 25px;
138
- }
139
-
140
- tbody tr td:last-child {
141
- padding-right: 25px;
142
- }
143
-
144
- tbody tr th:first-child,
145
- tbody tr td:first-child {
146
- border-radius: 5px 0 0 5px;
147
- }
148
-
149
- tbody tr th:last-child,
150
- tbody tr td:last-child {
151
- padding-right: 25px;
152
- border-radius: 0 5px 5px 0;
153
- }
154
-
155
-
156
- tbody tr:hover {
157
- background: var(--yith-table-row-highlight);
158
- }
159
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/assets/css/welcome-modal.css ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Welcome Modal.
3
+ */
4
+ .yith-plugin-fw-welcome-modal .yith-plugin-fw__modal__content {
5
+ padding-bottom: 0;
6
+ }
7
+
8
+ .yith-plugin-fw-welcome-modal .yith-plugin-fw__modal__footer {
9
+ background: transparent;
10
+ text-align: center;
11
+ }
12
+
13
+ .yith-plugin-fw-welcome {
14
+ line-height: 1.5em;
15
+ }
16
+
17
+ .yith-plugin-fw-welcome a {
18
+ color: var(--yith-link);
19
+ }
20
+
21
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__head {
22
+ text-align: center;
23
+ }
24
+
25
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__icon {
26
+ width: 60px;
27
+ }
28
+
29
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__title {
30
+ color: #03689f;
31
+ font-size: 18px;
32
+ line-height: 2em;
33
+ }
34
+
35
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__description {
36
+ margin: 15px 0 25px;
37
+ }
38
+
39
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__title__plugin-name {
40
+ font-weight: 700;
41
+ }
42
+
43
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__list-head {
44
+ display: flex;
45
+ align-items: center;
46
+ }
47
+
48
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__list-head__title {
49
+ font-size: 1.2em;
50
+ font-weight: 700;
51
+ flex: 1;
52
+ }
53
+
54
+ .yith-plugin-fw-welcome .yith-plugin-fw-welcome__list-head__changelog {
55
+ font-size: .85em;
56
+ text-decoration: none;
57
+ font-weight: 500;
58
+ }
59
+
60
+ .yith-plugin-fw-welcome.yith-plugin-fw-welcome--update .yith-plugin-fw-welcome__list-head {
61
+ margin-top: 30px;
62
+ }
63
+
64
+ .yith-plugin-fw-welcome__close {
65
+ color: var(--yith-link);
66
+ cursor: pointer;
67
+ font-size: .9em;
68
+ display: inline-block;
69
+ padding: 5px 10px;
70
+ text-decoration: none;
71
+ font-weight: 500;
72
+ }
plugin-fw/assets/css/yith-bh-onboarding.css CHANGED
@@ -133,6 +133,7 @@
133
  #yith-bh-onboarding ul.yith-bh-onboarding-connect-list p {
134
  font-size: 13px;
135
  line-height: 1.6em;
 
136
  }
137
 
138
  #yith-bh-onboarding .yith-bh-onboarding-connect-cta {
133
  #yith-bh-onboarding ul.yith-bh-onboarding-connect-list p {
134
  font-size: 13px;
135
  line-height: 1.6em;
136
+ padding-left:10px;
137
  }
138
 
139
  #yith-bh-onboarding .yith-bh-onboarding-connect-cta {
plugin-fw/assets/css/yith-plugin-ui.css CHANGED
@@ -969,6 +969,79 @@
969
  border: 1px solid var(--yith-delete-hover);
970
  }
971
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
972
  .yith-plugin-fw__list-table-blank-state {
973
  padding: 30px 30px 0;
974
  text-align: center;
969
  border: 1px solid var(--yith-delete-hover);
970
  }
971
 
972
+ .yith-plugin-fw__list-items {
973
+ display: grid;
974
+ grid-gap: 13px;
975
+ margin: 15px 0 0;
976
+ }
977
+
978
+ .yith-plugin-fw__list-item .yith-plugin-fw__list-item__wrap {
979
+ padding: 12px 18px;
980
+ border: 1px solid #e6e6e6;
981
+ background: #f5f5f5;
982
+ display: flex;
983
+ align-items: center;
984
+ text-decoration: none;
985
+ color: inherit;
986
+ }
987
+
988
+ .yith-plugin-fw__list-item:not(.yith-plugin-fw__list-item--no-link) .yith-plugin-fw__list-item__wrap:hover {
989
+ border-color: #bcd9f6;
990
+ background: #e5eef7;
991
+ }
992
+
993
+ .yith-plugin-fw__list-item:not(.yith-plugin-fw__list-item--no-link) .yith-plugin-fw__list-item__wrap:hover .yith-plugin-fw__list-item__step,
994
+ .yith-plugin-fw__list-item:not(.yith-plugin-fw__list-item--no-link) .yith-plugin-fw__list-item__wrap:hover .yith-plugin-fw__list-item__arrow {
995
+ color: var(--yith-link);
996
+ }
997
+
998
+ .yith-plugin-fw__list-item mark {
999
+ background: transparent;
1000
+ color: var(--yith-link);
1001
+ }
1002
+
1003
+ .yith-plugin-fw__list-item .yith-plugin-fw__list-item__step {
1004
+ font-size: 30px;
1005
+ font-weight: 700;
1006
+ text-align: center;
1007
+ width: 60px;
1008
+ margin-left: -14px;
1009
+ color: #717171;
1010
+ opacity: .36;
1011
+ }
1012
+
1013
+ .yith-plugin-fw__list-item .yith-plugin-fw__list-item__content {
1014
+ font-weight: 500;
1015
+ flex: 1;
1016
+ }
1017
+
1018
+ .yith-plugin-fw__list-item .yith-plugin-fw__list-item__title {
1019
+ font-size: 1.1em;
1020
+ }
1021
+
1022
+ .yith-plugin-fw__list-item .yith-plugin-fw__list-item__description {
1023
+ font-size: .85em;
1024
+ margin-top: .5em;
1025
+ }
1026
+
1027
+ .yith-plugin-fw__list-item .yith-plugin-fw__list-item__cta {
1028
+ margin-top: .7em;
1029
+ color: var(--yith-link);
1030
+ font-size: .85em;
1031
+ font-weight: 500;
1032
+ }
1033
+
1034
+ .yith-plugin-fw__list-item .yith-plugin-fw__list-item__arrow {
1035
+ color: #717171;
1036
+ margin-left: 10px;
1037
+ font-size: 12px;
1038
+ font-weight: 800;
1039
+ }
1040
+
1041
+ .yith-plugin-fw__list-items--list .yith-plugin-fw__list-item__title {
1042
+ font-style: italic;
1043
+ }
1044
+
1045
  .yith-plugin-fw__list-table-blank-state {
1046
  padding: 30px 30px 0;
1047
  text-align: center;
plugin-fw/assets/js/welcome-modal.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global jQuery, yith, wp */
2
+ jQuery( function ( $ ) {
3
+ "use strict";
4
+
5
+ var template = wp.template( 'yith-plugin-fw-welcome-modal' ),
6
+ content = $( template( {} ) ),
7
+ footer = content.find( '.yith-plugin-fw-welcome__footer' );
8
+
9
+ yith.ui.modal(
10
+ {
11
+ content : content,
12
+ footer : footer,
13
+ classes : {
14
+ wrap: 'yith-plugin-fw-welcome-modal'
15
+ },
16
+ width : '600px',
17
+ closeWhenClickingOnOverlay: false,
18
+ onClose : function () {
19
+ var location = footer.find( '.yith-plugin-fw-welcome__close' ).attr( 'href' );
20
+ if ( location ) {
21
+ window.location.href = location;
22
+ }
23
+ }
24
+ }
25
+ );
26
+
27
+ } );
plugin-fw/assets/js/welcome-modal.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(e){"use strict";var o=e(wp.template("yith-plugin-fw-welcome-modal")({})),i=o.find(".yith-plugin-fw-welcome__footer");yith.ui.modal({content:o,footer:i,classes:{wrap:"yith-plugin-fw-welcome-modal"},width:"600px",closeWhenClickingOnOverlay:!1,onClose:function(){var e=i.find(".yith-plugin-fw-welcome__close").attr("href");e&&(window.location.href=e)}})});
plugin-fw/includes/builders/gutenberg/src/common/actions-to-jquery-events.js DELETED
@@ -1,32 +0,0 @@
1
- /**
2
- * Actions to jQuery events
3
- */
4
-
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { addAction } from '@wordpress/hooks';
9
-
10
- const actions = [
11
- { key: 'yith_plugin_fw_gutenberg_before_do_shortcode', delay: 0 },
12
- { key: 'yith_plugin_fw_gutenberg_success_do_shortcode', delay: 200 },
13
- { key: 'yith_plugin_fw_gutenberg_after_do_shortcode', delay: 200 }
14
- ];
15
-
16
- for ( const action of actions ) {
17
- addAction(
18
- action.key,
19
- 'yith-plugin-fw/jquery-events',
20
- ( ...params ) => {
21
- if ( 'jQuery' in window ) {
22
- if ( action.delay ) {
23
- setTimeout( () => {
24
- jQuery( document ).trigger( action.key, Object.values( params ) );
25
- }, action.delay );
26
- } else {
27
- jQuery( document ).trigger( action.key, Object.values( params ) );
28
- }
29
- }
30
- }
31
- );
32
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/common/ajaxFetch.js DELETED
@@ -1,42 +0,0 @@
1
- /**
2
- * Ajax Fetch
3
- */
4
-
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { addQueryArgs } from '@wordpress/url';
9
-
10
- /**
11
- * Check status of ajax call
12
- * @param response
13
- * @returns {*}
14
- */
15
- function ajaxCheckStatus( response ) {
16
- if ( response.status >= 200 && response.status < 300 ) {
17
- return response;
18
- }
19
-
20
- throw response;
21
- }
22
-
23
- /**
24
- * Parse the response of the ajax call
25
- * @param response
26
- * @returns {*}
27
- */
28
- function parseResponse( response ) {
29
- return response.json ? response.json() : response.text();
30
- }
31
-
32
- /**
33
- * Fetch using WordPress Ajax
34
- *
35
- * @param {object} data The data to use in the ajax call.
36
- * @param {string} url The ajax URL.
37
- * @returns {Promise<Response>}
38
- */
39
- export const ajaxFetch = ( data, url = yithGutenberg.ajaxurl ) => {
40
- url = addQueryArgs( url, data );
41
- return fetch( url ).then( ajaxCheckStatus ).then( parseResponse );
42
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/common/checkForDeps.js DELETED
@@ -1,46 +0,0 @@
1
- /**
2
- * Check for dependencies
3
- *
4
- * @param {object} attributeArgs Attribute arguments.
5
- * @param {object} attributes The attributes.
6
- * @returns {boolean}
7
- */
8
-
9
- import _ from 'lodash';
10
-
11
- const checkForSingleDep = ( attributes, dep, controlType ) => {
12
- let show = true;
13
-
14
- if ( dep && dep.id && 'value' in dep ) {
15
- let depValue = dep.value;
16
- if ( ['toggle', 'checkbox'].includes( controlType ) ) {
17
- depValue = true === depValue || 'yes' === depValue || 1 === depValue;
18
- }
19
- depValue = _.isArray( depValue ) ? depValue : [depValue];
20
-
21
- show = typeof attributes[ dep.id ] !== 'undefined' && depValue.includes( attributes[ dep.id ] );
22
- }
23
-
24
- return show;
25
- };
26
-
27
- export const checkForDeps = ( attributeArgs, attributes ) => {
28
- const { controlType } = attributeArgs;
29
- let show = true;
30
-
31
- if ( attributeArgs.deps ) {
32
- if ( _.isArray( attributeArgs.deps ) ) {
33
- for ( let i in attributeArgs.deps ) {
34
- const singleDep = attributeArgs.deps[ i ];
35
- show = checkForSingleDep( attributes, singleDep, controlType );
36
- if ( !show ) {
37
- break;
38
- }
39
- }
40
- } else {
41
- show = checkForSingleDep( attributes, attributeArgs.deps, controlType );
42
- }
43
- }
44
-
45
- return show;
46
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/common/generateShortcode.js DELETED
@@ -1,42 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { checkForDeps } from './checkForDeps';
5
-
6
- /**
7
- * Generate the shortcode
8
- *
9
- * @param {object} blockArgs The block arguments.
10
- * @param {object} attributes The attributes
11
- * @returns {string}
12
- */
13
- export const generateShortcode = ( blockArgs, attributes ) => {
14
- let theShortcode = '';
15
- let callback = false;
16
-
17
- if ( typeof blockArgs.callback !== 'undefined' ) {
18
- if ( jQuery && blockArgs.callback in jQuery.fn ) {
19
- callback = jQuery.fn[ blockArgs.callback ];
20
- } else if ( blockArgs.callback in window ) {
21
- callback = window[ blockArgs.callback ];
22
- }
23
- }
24
-
25
- if ( typeof callback === 'function' ) {
26
- theShortcode = callback( attributes, blockArgs );
27
- } else {
28
- const shortcodeAttrs = blockArgs.attributes ? Object.entries( blockArgs.attributes ).map( ( [attributeName, attributeArgs] ) => {
29
- const show = checkForDeps( attributeArgs, attributes );
30
- const value = attributes[ attributeName ];
31
-
32
- if ( show && typeof value !== 'undefined' ) {
33
- const shortcodeValue = !!attributeArgs.remove_quotes ? value : `"${value}"`;
34
- return attributeName + '=' + shortcodeValue;
35
- }
36
- } ) : [];
37
-
38
- const shortcodeAttrsText = shortcodeAttrs.length ? ( ' ' + shortcodeAttrs.join( ' ' ) ) : '';
39
- theShortcode = `[${blockArgs.shortcode_name}${shortcodeAttrsText}]`;
40
- }
41
- return theShortcode;
42
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/common/icons.js DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * SVG Icons
3
- */
4
-
5
- /**
6
- * The YITH Logo Icon
7
- * @type {JSX.Element}
8
- */
9
- export const yith_icon = <svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" width="22" height="22" role="img" aria-hidden="true" focusable="false">
10
- <path width="22" height="22"
11
- d="M 18.24 7.628 C 17.291 8.284 16.076 8.971 14.587 9.688 C 15.344 7.186 15.765 4.851 15.849 2.684 C 15.912 0.939 15.133 0.045 13.514 0.003 C 11.558 -0.06 10.275 1.033 9.665 3.284 C 10.007 3.137 10.359 3.063 10.723 3.063 C 11.021 3.063 11.267 3.184 11.459 3.426 C 11.651 3.668 11.736 3.947 11.715 4.262 C 11.695 5.082 11.276 5.961 10.46 6.896 C 9.644 7.833 8.918 8.3 8.282 8.3 C 7.837 8.3 7.625 7.922 7.646 7.165 C 7.667 6.765 7.804 5.955 8.056 4.735 C 8.287 3.579 8.403 2.801 8.403 2.401 C 8.403 1.707 8.224 1.144 7.867 0.713 C 7.509 0.282 6.994 0.098 6.321 0.161 C 5.858 0.203 5.175 0.624 4.27 1.422 C 3.596 2.035 2.923 2.644 2.25 3.254 L 2.976 4.106 C 3.564 3.664 3.922 3.443 4.048 3.443 C 4.448 3.443 4.637 3.717 4.617 4.263 C 4.617 4.306 4.427 4.968 4.049 6.251 C 3.671 7.534 3.471 8.491 3.449 9.122 C 3.407 9.985 3.565 10.647 3.924 11.109 C 4.367 11.677 5.106 11.919 6.142 11.835 C 7.366 11.751 8.591 11.298 9.816 10.479 C 10.323 10.142 10.808 9.753 11.273 9.311 C 11.105 10.153 10.905 10.868 10.673 11.457 C 8.402 12.487 6.762 13.37 5.752 14.107 C 4.321 15.137 3.554 16.241 3.449 17.419 C 3.259 19.459 4.29 20.479 6.541 20.479 C 8.055 20.479 9.517 19.554 10.926 17.703 C 12.125 16.126 13.166 14.022 14.049 11.394 C 15.578 10.635 16.87 9.892 17.928 9.164 C 17.894 9.409 18.319 7.308 18.24 7.628 Z M 7.393 16.095 C 7.056 16.095 6.898 15.947 6.919 15.653 C 6.961 15.106 7.908 14.38 9.759 13.476 C 8.791 15.221 8.002 16.095 7.393 16.095 Z"/>
12
- </svg>;
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/common/index.js DELETED
@@ -1,4 +0,0 @@
1
- export * from './ajaxFetch';
2
- export * from './icons';
3
- export * from './generateShortcode';
4
- export * from './checkForDeps';
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/index.js DELETED
@@ -1,96 +0,0 @@
1
- /**
2
- * Color Palette Component
3
- */
4
-
5
- /**
6
- * External dependencies
7
- */
8
- import React from 'react';
9
-
10
- /**
11
- * WordPress dependencies
12
- */
13
- import { BaseControl, ColorIndicator, ColorPalette } from '@wordpress/components';
14
- import { useSetting } from '@wordpress/block-editor';
15
- import { useInstanceId } from '@wordpress/compose';
16
-
17
- /**
18
- * Internal dependencies
19
- */
20
- import './style.scss';
21
-
22
- /**
23
- * Visual Label Element
24
- *
25
- * @param {string} label The label.
26
- * @param {string} colorValue The color.
27
- * @returns {JSX.Element}
28
- * @constructor
29
- */
30
- function VisualLabel( {
31
- label,
32
- colorValue
33
- } ) {
34
-
35
- return (
36
- <>
37
- {label}
38
- {!!colorValue && (
39
- <ColorIndicator colorValue={colorValue}/>
40
- )}
41
- </>
42
- );
43
- }
44
-
45
- /**
46
- * Color Palette Control
47
- *
48
- * @param {string} className The CSS class name.
49
- * @param {string} label The label.
50
- * @param {function} onChange The function callback fired on value change.
51
- * @param {string} value The initial value.
52
- * @param {string} help The help message.
53
- * @param {array} palette Array of palette colors.
54
- * @param {bool} clearable Set true to allow clear.
55
- * @returns {JSX.Element}
56
- * @constructor
57
- */
58
- export default function ColorPaletteControl( {
59
- className,
60
- label,
61
- onChange,
62
- value,
63
- help,
64
- palette,
65
- clearable
66
- } ) {
67
-
68
- palette = !!palette ? palette : useSetting( 'color.palette' );
69
-
70
- const instanceId = useInstanceId( ColorPaletteControl );
71
- const id = `inspector-yith-color-palette-control-${instanceId}`;
72
-
73
- return (
74
- <BaseControl
75
- id={id}
76
- className={`block-editor-yith-color-palette-control ${className}`}
77
- help={help}
78
- >
79
- <fieldset>
80
- <legend>
81
- <div className="block-editor-yith-color-palette-control__color-indicator">
82
- <BaseControl.VisualLabel>
83
- <VisualLabel colorValue={value} label={label}/>
84
- </BaseControl.VisualLabel>
85
- </div>
86
- </legend>
87
-
88
- <ColorPalette
89
- value={value}
90
- onChange={onChange}
91
- colors={palette}
92
- clearable={clearable}
93
- />
94
- </fieldset>
95
- </BaseControl> );
96
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/style.scss DELETED
@@ -1,9 +0,0 @@
1
- .block-editor-yith-color-palette-control {
2
- .block-editor-yith-color-palette-control__color-indicator {
3
- margin-bottom: 12px;
4
- }
5
-
6
- .component-color-indicator{
7
- vertical-align: text-bottom;
8
- }
9
- }
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/color-picker-control/index.js DELETED
@@ -1,53 +0,0 @@
1
- /**
2
- * Color Picker Component
3
- */
4
-
5
- /**
6
- * External dependencies
7
- */
8
- import React from 'react';
9
-
10
- /**
11
- * WordPress dependencies
12
- */
13
- import { BaseControl, ColorPicker } from '@wordpress/components';
14
- import { useInstanceId } from '@wordpress/compose';
15
-
16
- /**
17
- * Color Picker Control
18
- *
19
- * @param {string} className The CSS class name.
20
- * @param {string} label The label.
21
- * @param {function} onChange The function callback fired on value change.
22
- * @param {string} value The initial value.
23
- * @param {string} help The help message.
24
- * @param {bool} disableAlpha Set true to disable the alpha
25
- * @returns {ColorPickerControl}
26
- * @constructor
27
- */
28
- export default function ColorPickerControl( {
29
- className,
30
- label,
31
- onChange,
32
- value,
33
- help,
34
- disableAlpha,
35
- } ) {
36
-
37
- const instanceId = useInstanceId( ColorPickerControl );
38
- const id = `inspector-yith-color-picker-control-${instanceId}`;
39
-
40
- return (
41
- <BaseControl
42
- id={id}
43
- label={label}
44
- className={`block-editor-yith-color-control ${className}`}
45
- help={help}
46
- >
47
- <ColorPicker
48
- color={value}
49
- disableAlpha={disableAlpha}
50
- onChangeComplete={onChange}
51
- />
52
- </BaseControl> );
53
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/index.js DELETED
@@ -1,56 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import React from 'react';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { BaseControl } from '@wordpress/components';
10
- import { useInstanceId } from '@wordpress/compose';
11
- import MultipleSelect from './multiple-select';
12
-
13
- import './style.scss';
14
-
15
- /**
16
- * Color Picker Control
17
- *
18
- * @param {string} className The CSS class name.
19
- * @param {string} label The label.
20
- * @param {function} onChange The function callback fired on value change.
21
- * @param {string} value The initial value.
22
- * @param {string} help The help message.
23
- * @param {bool} disableAlpha Set true to disable the alpha
24
- * @returns {MultipleSelectControl}
25
- * @constructor
26
- */
27
- export default function MultipleSelectControl(
28
- {
29
- className,
30
- label,
31
- onChange,
32
- value,
33
- help,
34
- options,
35
- messages
36
- }
37
- ) {
38
-
39
- const instanceId = useInstanceId( MultipleSelectControl );
40
- const id = `inspector-yith-multiple-select-control-${instanceId}`;
41
-
42
- return <BaseControl
43
- id={id}
44
- label={label}
45
- className={`block-editor-yith-multiple-select-control ${className}`}
46
- help={help}
47
- >
48
- <MultipleSelect
49
- id={id}
50
- value={value}
51
- options={options}
52
- onChange={onChange}
53
- messages={messages}
54
- />
55
- </BaseControl>
56
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/multiple-select.js DELETED
@@ -1,186 +0,0 @@
1
- import classNames from 'classnames';
2
- import noop from 'lodash';
3
- import PropTypes from 'prop-types';
4
- import { useState, useEffect, useRef, useMemo } from 'react';
5
-
6
- import { __, sprintf } from '@wordpress/i18n';
7
- import { useInstanceId } from '@wordpress/compose';
8
- import { Popover } from '@wordpress/components';
9
-
10
- import MultipleSelectControl from './index';
11
-
12
- const defaultMessages = {
13
- noItems : __( 'No items found.', 'yith-plugin-fw' ),
14
- noResults: __( 'No results for "%s"', 'yith-plugin-fw' ),
15
- search : __( 'Search for items...', 'yith-plugin-fw' )
16
- };
17
-
18
- function useUniqueId( idProp ) {
19
- const instanceId = useInstanceId( MultipleSelectControl );
20
- const id = `inspector-yith-multiple-select-control-${instanceId}`;
21
-
22
- return idProp || id;
23
- }
24
-
25
- export default function MultipleSelect( { id: idProp, value, options, onChange, messages: messagesProp } ) {
26
- const [search, setSearch] = useState( '' );
27
- const [showSuggesions, setShowSuggestions] = useState( false );
28
- const [width, setWidth] = useState( 248 );
29
- const messages = { ...defaultMessages, ...messagesProp };
30
- const wrapperRef = useRef();
31
- const inputRef = useRef();
32
- const inputContainerRef = useRef();
33
- const popoverRef = useRef();
34
- const suggestionsRef = useRef();
35
-
36
- const classes = classNames(
37
- 'yith-fw-components__multiple-select'
38
- );
39
-
40
- const allowedValues = useMemo( () => options.map( _ => _.value ), [options] );
41
- const validValues = useMemo( () => value.filter( _ => allowedValues.includes( _ ) ), [value, allowedValues] );
42
- const filteredOptions = useMemo( () => options.filter( ( _ ) => _.label.toLowerCase().indexOf( search.toLowerCase() ) >= 0 ), [options, search] );
43
- const selected = useMemo( () => options.filter( ( _ ) => validValues.includes( _.value ) ), [options, validValues] );
44
-
45
- const addItem = itemValue => {
46
- onChange( [...validValues, itemValue] );
47
- setSearch( '' );
48
- };
49
- const removeItem = ( itemValue ) => {
50
- const newSelected = [...validValues].filter( _ => _ !== itemValue );
51
- onChange( newSelected );
52
- };
53
- const focusInput = () => !!inputRef.current && inputRef.current.focus();
54
-
55
- const handleClickOutside = e => {
56
- const isWrapperClick = wrapperRef?.current && wrapperRef.current.contains( e.target );
57
- const isPopoverClick = popoverRef?.current && popoverRef.current.contains( e.target );
58
- if ( !isWrapperClick && !isPopoverClick ) {
59
- setShowSuggestions( false );
60
- }
61
- };
62
-
63
- const handleInputContainerClick = e => {
64
- const isInputContainerClick = inputContainerRef?.current && inputContainerRef.current === e.target;
65
- if ( isInputContainerClick ) {
66
- focusInput();
67
- }
68
- };
69
-
70
- useEffect( () => {
71
- document.addEventListener( 'mousedown', handleClickOutside );
72
- return () => document.removeEventListener( 'mousedown', handleClickOutside );
73
- } );
74
-
75
- useEffect( () => {
76
- const refresh = () => {
77
- if ( !wrapperRef.current ) {
78
- return;
79
- }
80
-
81
- const width = wrapperRef.current.getBoundingClientRect()?.width;
82
- setWidth( width );
83
- };
84
-
85
- refresh();
86
- }, [] );
87
-
88
- return <div className={classes} ref={wrapperRef}>
89
- <div className="yith-fw-components__multiple-select__input-container" ref={inputContainerRef} onClick={handleInputContainerClick}>
90
- {selected.map( item => {
91
- return <span key={item.value} className="yith-fw-components__multiple-select__item">
92
- <span className="yith-fw-components__multiple-select__item__label">{item.label}</span>
93
- <i
94
- className="yith-fw-components__multiple-select__item__remove yith-icon-close-alt"
95
- onClick={() => {
96
- removeItem( item.value );
97
- setShowSuggestions( false );
98
- }}
99
- />
100
- </span>
101
- } )}
102
- <input
103
- className="yith-fw-components__multiple-select__input"
104
- id={useUniqueId( idProp )}
105
- ref={inputRef}
106
- type="text"
107
- autoComplete="off"
108
- placeholder={messages.search}
109
- onFocus={() => setShowSuggestions( true )}
110
- value={search}
111
- onChange={( e ) => setSearch( e.target.value )}
112
- />
113
- </div>
114
- {showSuggesions && <Popover
115
- className="yith-fw-components__multiple-select__popover"
116
- position="bottom"
117
- offset={20}
118
- anchorRef={wrapperRef?.current ?? undefined}
119
- anchorRect={wrapperRef?.current && wrapperRef?.current.getBoundingClientRect()}
120
- focusOnMount={false}
121
- ref={popoverRef}
122
- >
123
- <div
124
- className={classNames( 'yith-fw-components__multiple-select__suggestions', !filteredOptions.length && 'no-results' )}
125
- ref={suggestionsRef}
126
- style={{ width }}
127
- >
128
- {!!options.length && !!filteredOptions.length ?
129
- (
130
- filteredOptions.map(
131
- item => {
132
- const isSelected = validValues.includes( item.value );
133
-
134
- return <div
135
- key={item.value}
136
- className={classNames( 'yith-fw-components__multiple-select__suggestion', isSelected && 'selected' )}
137
- onClick={() => {
138
- if ( !isSelected ) {
139
- addItem( item.value );
140
- focusInput();
141
- }
142
- }}
143
- >
144
- <div className="yith-fw-components__multiple-select__suggestion__label">{item.label}</div>
145
- {isSelected && <i
146
- className="yith-fw-components__multiple-select__suggestion__remove yith-icon yith-icon-close-alt"
147
- onClick={() => {
148
- removeItem( item.value );
149
- focusInput();
150
- }}/>}
151
- </div>
152
- }
153
- )
154
- ) :
155
- <div className="yith-fw-components__multiple-select__suggestions__message">
156
- {!options.length || !search ? messages.noItems : sprintf( messages.noResults, search )}
157
- </div>
158
- }
159
- </div>
160
- </Popover>}
161
- </div>
162
- }
163
-
164
- MultipleSelect.propTypes = {
165
- id : PropTypes.string,
166
- className: PropTypes.string,
167
- value : PropTypes.array,
168
- options : PropTypes.arrayOf(
169
- PropTypes.shape(
170
- {
171
- label: PropTypes.string,
172
- value: PropTypes.oneOfType( [PropTypes.string, PropTypes.number] )
173
- }
174
- )
175
- ),
176
- onChange : PropTypes.func
177
-
178
- };
179
-
180
- MultipleSelect.defaultProps = {
181
- id : '',
182
- value : [],
183
- className: '',
184
- options : [],
185
- onChange : noop
186
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/style.scss DELETED
@@ -1,135 +0,0 @@
1
- .yith-fw-components__multiple-select {
2
- .yith-fw-components__multiple-select__input-container {
3
- border-radius : 2px;
4
- border : 1px solid #757575;
5
- padding : 5px;
6
-
7
- .yith-fw-components__multiple-select__input {
8
- border : 0;
9
- min-height : 24px;
10
- width : 100%;
11
- background : inherit;
12
- color : #1e1e1e;
13
- box-shadow : none;
14
-
15
- &::placeholder {
16
- opacity : .6;
17
- color : inherit;
18
- }
19
- }
20
- }
21
-
22
- .yith-fw-components__multiple-select__item {
23
- border-radius : 3px;
24
- background : #f1f1f1;
25
- display : inline-block;
26
- padding : 4px 25px 4px 10px;
27
- margin : 0 5px 5px 0;
28
- max-width : 100%;
29
- align-items : center;
30
- position : relative;
31
-
32
- .yith-fw-components__multiple-select__item__label {
33
-
34
- }
35
-
36
- .yith-fw-components__multiple-select__item__remove {
37
- font-size : 14px;
38
- cursor : pointer;
39
- position : absolute;
40
- top : 50%;
41
- right : 3px;
42
- transform : translateY(-50%);
43
- padding : 5px;
44
- width : auto;
45
- height : auto;
46
-
47
- &:hover {
48
- color : #c50c0c;
49
- }
50
- }
51
- }
52
- }
53
-
54
- .yith-fw-components__multiple-select__popover {
55
- .components-popover__content {
56
- border : 0;
57
- overflow : visible;
58
- }
59
-
60
- .yith-fw-components__multiple-select__suggestions {
61
- display : flex;
62
- flex-direction : column;
63
- overflow : hidden;
64
- overflow-y : auto;
65
- padding-top : 5px;
66
- max-height : 200px;
67
- border-radius : 5px;
68
- box-shadow : rgb(0 0 0 / 20%) 0px 5px 5px -3px, rgb(0 0 0 / 14%) 0px 8px 10px 1px, rgb(0 0 0 / 12%) 0px 3px 14px 2px;
69
-
70
- &.no-results {
71
- padding-top : 0;
72
- }
73
-
74
- .yith-fw-components__multiple-select__suggestions__message {
75
- padding : 8px 15px;
76
- line-height : 1.5em;
77
- overflow-wrap : break-word;
78
- }
79
-
80
- .yith-fw-components__multiple-select__suggestion {
81
- padding : 8px 15px;
82
- min-height : 40px;
83
- cursor : pointer;
84
- line-height : 1.5em;
85
- display : flex;
86
- align-items : center;
87
- justify-content : space-between;
88
-
89
- &.selected {
90
- background : rgba(25, 118, 210, 0.08);
91
- }
92
-
93
- &:hover {
94
- background : rgba(0, 0, 0, 0.04);
95
- }
96
-
97
- &.selected:hover {
98
- background : rgba(25, 118, 210, 0.12);
99
- }
100
- }
101
-
102
- .yith-fw-components__multiple-select__suggestion__remove {
103
- font-size : 13px;
104
- font-weight : 600;
105
- padding : 5px;
106
- height : 23px;
107
- width : 23px;
108
- background : rgba(0, 0, 0, 0);
109
- box-shadow : 0 0 0 10px rgba(0, 0, 0, 0);
110
- border-radius : 50%;
111
- transition : all .3s ease-in-out;
112
-
113
- &:hover {
114
- color : #c50c0c;
115
- background : rgba(0, 0, 0, .06);
116
- box-shadow : 0 0 0 3px rgba(0, 0, 0, .06);
117
- }
118
- }
119
- }
120
-
121
- ::-webkit-scrollbar-track {
122
- -webkit-box-shadow : none;
123
- background-color : transparent;
124
- }
125
-
126
- ::-webkit-scrollbar {
127
- width : 10px;
128
- background-color : rgba(94, 88, 154, 0.04);
129
- }
130
-
131
- ::-webkit-scrollbar-thumb {
132
- background-color : #b1b4bf;
133
- border-radius : 10px;
134
- }
135
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/shortcode/index.js DELETED
@@ -1,152 +0,0 @@
1
- /**
2
- * Shortcode Component
3
- */
4
-
5
- /**
6
- * External dependencies
7
- */
8
- import React, { Component } from 'react';
9
- import { isEqual } from 'lodash';
10
-
11
- /**
12
- * WordPress dependencies
13
- */
14
- import { RawHTML } from '@wordpress/element';
15
- import { Spinner } from '@wordpress/components';
16
- import { doAction, addAction } from '@wordpress/hooks';
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
- import { ajaxFetch, generateShortcode, yith_icon } from '../../common';
22
- import md5 from 'md5';
23
- import './style.scss';
24
-
25
- const BEFORE_DO_SHORTCODE_ACTION = 'yith_plugin_fw_gutenberg_before_do_shortcode';
26
- const SUCCESS_DO_SHORTCODE_ACTION = 'yith_plugin_fw_gutenberg_success_do_shortcode';
27
- const AFTER_DO_SHORTCODE_ACTION = 'yith_plugin_fw_gutenberg_after_do_shortcode';
28
-
29
- /**
30
- * Shortcode Component
31
- */
32
- export class Shortcode extends Component {
33
- constructor() {
34
- super( ...arguments );
35
-
36
- this.state = {
37
- html : '',
38
- shortcode : '',
39
- shortcodeHash: '',
40
- ajaxUpdated : false,
41
- ajaxSuccess : false,
42
- ajaxResponse : false,
43
- loading : false,
44
- firstLoading : true
45
- };
46
-
47
- this.ajaxTimeout = false;
48
- }
49
-
50
- componentDidMount() {
51
- this.updateShortcode();
52
- }
53
-
54
- componentDidUpdate( prevProps, prevState, snapshot ) {
55
- const { shortcode, shortcodeHash, ajaxSuccess, ajaxResponse, ajaxUpdated } = this.state;
56
-
57
- if ( !isEqual( prevProps, this.props ) ) {
58
- this.updateShortcode();
59
- }
60
-
61
-
62
- if ( this.props.blockArgs.do_shortcode && ajaxUpdated ) {
63
-
64
- if ( ajaxSuccess ) {
65
- doAction( SUCCESS_DO_SHORTCODE_ACTION, shortcode, shortcodeHash, ajaxResponse );
66
- }
67
-
68
- doAction( AFTER_DO_SHORTCODE_ACTION, shortcode, shortcodeHash, ajaxResponse );
69
-
70
- this.setState( { ajaxUpdated: false } );
71
- }
72
- }
73
-
74
- updateShortcode() {
75
- const { attributes, blockArgs } = this.props;
76
-
77
- this.setState( { loading: true, ajaxSuccess: false, ajaxResponse: false } );
78
-
79
- const shortcode = generateShortcode( blockArgs, attributes );
80
- const shortcodeHash = md5( shortcode );
81
-
82
- if ( blockArgs.do_shortcode ) {
83
- !!this.ajaxTimeout && clearTimeout( this.ajaxTimeout );
84
-
85
- doAction( BEFORE_DO_SHORTCODE_ACTION, shortcode, shortcodeHash );
86
-
87
- this.ajaxTimeout = setTimeout( () => {
88
- const ajaxData = {
89
- action : 'yith_plugin_fw_gutenberg_do_shortcode',
90
- shortcode: shortcode
91
- };
92
-
93
- ajaxFetch( ajaxData ).then( response => {
94
- this.setState( { loading: false, firstLoading: false, html: response.html, shortcode, shortcodeHash, ajaxSuccess: true, ajaxUpdated: true, ajaxResponse: response } );
95
- } )
96
- .catch( error => {
97
- console.log( { error } );
98
- } );
99
- }, 300 );
100
- } else {
101
- this.setState( { loading: false, firstLoading: false, html: shortcode, shortcode, shortcodeHash } );
102
- }
103
- }
104
-
105
- render() {
106
- const { html, loading, firstLoading, shortcode, shortcodeHash } = this.state;
107
- const { blockArgs } = this.props;
108
- const { do_shortcode, title, empty_message } = blockArgs;
109
-
110
- const mainClass = 'block-editor-yith-plugin-fw-shortcode-block';
111
-
112
- let wrapperClasses = [mainClass];
113
- let type = do_shortcode ? 'html' : 'shortcode';
114
- let htmlToShow = html;
115
- let message = '';
116
-
117
- if ( firstLoading && loading ) {
118
- type = 'first-loading';
119
- } else if ( do_shortcode && !html ) {
120
- type = 'empty-html';
121
- htmlToShow = shortcode;
122
- if ( !loading && empty_message ) {
123
- message = empty_message;
124
- }
125
- }
126
-
127
- const showTitle = ['first-loading', 'empty-html', 'shortcode'].includes( type );
128
- const showContent = !['first-loading', 'empty-html'].includes( type );
129
- const showMessage = !!message;
130
-
131
- wrapperClasses.push( `${mainClass}--${type}` );
132
- wrapperClasses.push( showMessage ? `${mainClass}--has-message` : `${mainClass}--no-message` );
133
- wrapperClasses.push( `yith_block_${shortcodeHash}` );
134
-
135
- return (
136
- <>
137
- <div className={wrapperClasses.join( ' ' )}>
138
- {!!loading ? <div className={`${mainClass}__spinner-wrap`}><Spinner/></div> : ''}
139
- {showTitle &&
140
- <div className={`${mainClass}__title components-placeholder__label`}>{yith_icon}{title}</div>
141
- }
142
- {showMessage &&
143
- <RawHTML className={`${mainClass}__message`}>{message}</RawHTML>
144
- }
145
- {showContent &&
146
- <RawHTML className={`${mainClass}__content`}>{htmlToShow}</RawHTML>
147
- }
148
- </div>
149
- </>
150
- )
151
- }
152
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/components/shortcode/style.scss DELETED
@@ -1,64 +0,0 @@
1
- %bordered-block {
2
- padding: 1em 1em 1.2em;
3
- border: 1px solid #1e1e1e;
4
- border-radius: 4px;
5
- }
6
-
7
- %shortcode-box {
8
- font-family: Menlo, Consolas, monaco, monospace;
9
- color: #1e1e1e;
10
- font-size: 13px;
11
- padding: 0.8em 1em;
12
- border: 1px solid #ddd;
13
- border-radius: 4px;
14
- }
15
-
16
- .block-editor-yith-plugin-fw-shortcode-block {
17
- position: relative;
18
- min-height: 30px;
19
-
20
- .block-editor-yith-plugin-fw-shortcode-block__spinner-wrap {
21
- position: absolute;
22
- top: 50%;
23
- left: 50%;
24
- transform: translateX(-50%) translateY(-50%);
25
- }
26
-
27
- &.block-editor-yith-plugin-fw-shortcode-block--first-loading{
28
- @extend %bordered-block;
29
-
30
- .block-editor-yith-plugin-fw-shortcode-block__title {
31
- margin-bottom: 0;
32
- }
33
- }
34
-
35
- &.block-editor-yith-plugin-fw-shortcode-block--shortcode {
36
-
37
- @extend %bordered-block;
38
-
39
- .block-editor-yith-plugin-fw-shortcode-block__content {
40
- @extend %shortcode-box;
41
- }
42
- }
43
-
44
- &.block-editor-yith-plugin-fw-shortcode-block--empty-html {
45
-
46
- @extend %bordered-block;
47
-
48
- &.block-editor-yith-plugin-fw-shortcode-block--no-message {
49
- .block-editor-yith-plugin-fw-shortcode-block__title {
50
- margin-bottom: 0;
51
- }
52
- }
53
-
54
- .block-editor-yith-plugin-fw-shortcode-block__message {
55
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
56
- font-style: italic;
57
- font-size: 13px;
58
- }
59
-
60
- .block-editor-yith-plugin-fw-shortcode-block__content {
61
- display: none;
62
- }
63
- }
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/edit.js DELETED
@@ -1,234 +0,0 @@
1
- /**
2
- * Handle YITH Gutenberg Blocks Edit
3
- *
4
- * @var {Object} yithGutenbergBlocks The Gutenberg blocks object.
5
- */
6
-
7
- /**
8
- * External dependencies
9
- */
10
- import React from 'react';
11
-
12
- /**
13
- * WordPress dependencies
14
- */
15
- import {
16
- PanelBody,
17
- ToggleControl,
18
- SelectControl,
19
- TextControl,
20
- TextareaControl,
21
- CheckboxControl,
22
- RangeControl,
23
- RadioControl
24
- } from '@wordpress/components';
25
- import { InspectorControls } from '@wordpress/block-editor';
26
-
27
- /**
28
- * Internal dependencies
29
- */
30
- import { Shortcode } from './components/shortcode';
31
- import { checkForDeps } from './common';
32
- import ColorPickerControl from './components/color-picker-control';
33
- import ColorPaletteControl from './components/color-palette-control';
34
- import MultipleSelectControl from './components/multiple-select-control';
35
- import classNames from 'classnames';
36
-
37
- /**
38
- * Retrieve an help message from arguments.
39
- *
40
- * @param {Object} args The arguments.
41
- * @param {bool} value The value.
42
- * @returns {string}
43
- */
44
- const getHelpMessage = ( args, value ) => {
45
- let helpMessage = '';
46
- if ( args.helps && args.helps.checked && args.helps.unchecked ) {
47
- helpMessage = !!value ? args.helps.checked : args.helps.unchecked;
48
- } else if ( args.help ) {
49
- helpMessage = args.help;
50
- }
51
- return helpMessage;
52
- };
53
-
54
- const ComponentControl = ( { attributeName, attributeArgs, attributes, onChange, blockName } ) => {
55
- const { controlType, label, wrapper_class } = attributeArgs;
56
- const value = attributes[ attributeName ];
57
- const helpMessage = getHelpMessage( attributeArgs, value );
58
- const show = checkForDeps( attributeArgs, attributes );
59
- const wrapperClass = classNames(
60
- `${blockName}__${attributeName}-field-wrapper`,
61
- wrapper_class
62
- );
63
-
64
- let componentControl = false;
65
- if ( show ) {
66
- switch ( controlType ) {
67
- case 'select':
68
- if ( !attributeArgs.multiple ) {
69
- componentControl = <SelectControl
70
- className={wrapperClass}
71
- value={value}
72
- label={label}
73
- options={attributeArgs?.options ?? []}
74
- help={helpMessage}
75
- onChange={onChange}
76
- />;
77
- } else {
78
- componentControl = <MultipleSelectControl
79
- className={wrapperClass}
80
- value={value}
81
- label={label}
82
- options={attributeArgs?.options ?? []}
83
- help={helpMessage}
84
- onChange={onChange}
85
- messages={attributeArgs?.messages ?? {}}
86
- />;
87
- }
88
- break;
89
-
90
- case 'text':
91
- componentControl = <TextControl
92
- className={wrapperClass}
93
- key={attributeName}
94
- value={value}
95
- label={label}
96
- help={helpMessage}
97
- onChange={onChange}
98
- />;
99
- break;
100
-
101
- case 'textarea':
102
- componentControl = <TextareaControl
103
- className={wrapperClass}
104
- key={attributeName}
105
- value={value}
106
- label={label}
107
- help={helpMessage}
108
- onChange={onChange}
109
- />;
110
- break;
111
-
112
- case 'toggle':
113
- componentControl = <ToggleControl
114
- className={wrapperClass}
115
- key={attributeName}
116
- label={label}
117
- help={helpMessage}
118
- checked={value}
119
- onChange={onChange}
120
- />;
121
- break;
122
-
123
- case 'checkbox':
124
- componentControl = <CheckboxControl
125
- className={wrapperClass}
126
- key={attributeName}
127
- label={label}
128
- help={helpMessage}
129
- checked={value}
130
- onChange={onChange}
131
- />;
132
- break;
133
-
134
- case 'number':
135
- case 'range':
136
- componentControl = <RangeControl
137
- className={wrapperClass}
138
- key={attributeName}
139
- value={value}
140
- label={label}
141
- help={helpMessage}
142
- min={attributeArgs?.min}
143
- max={attributeArgs?.max}
144
- onChange={onChange}
145
- />;
146
- break;
147
-
148
- case 'color':
149
- case 'colorpicker':
150
- componentControl = <ColorPickerControl
151
- className={wrapperClass}
152
- key={attributeName}
153
- label={label}
154
- help={helpMessage}
155
- value={value}
156
- disableAlpha={attributeArgs?.disableAlpha ?? false}
157
- onChange={onChange}/>;
158
- break;
159
-
160
- case 'color-palette':
161
- componentControl = <ColorPaletteControl
162
- className={wrapperClass}
163
- key={attributeName}
164
- label={label}
165
- help={helpMessage}
166
- value={value}
167
- clearable={attributeArgs?.clearable ?? false}
168
- onChange={onChange}/>;
169
- break;
170
-
171
- case 'radio':
172
- componentControl = <RadioControl
173
- key={attributeName}
174
- label={label}
175
- options={attributeArgs?.options ?? []}
176
- selected={value}
177
- help={helpMessage}
178
- onChange={onChange}
179
- />;
180
- break;
181
- default:
182
- componentControl = false;
183
- }
184
- }
185
- return componentControl;
186
- }
187
-
188
- /**
189
- * Create edit function.
190
- *
191
- * @param {string} blockName The block name.
192
- * @param {Object} blockArgs The block arguments.
193
- * @returns {function({attributes?: *, className: *, setAttributes: *})}
194
- */
195
- export const createEditFunction = ( blockName, blockArgs ) => {
196
- return function ( { attributes, className, setAttributes } ) {
197
-
198
- const onChangeHandler = ( updatedValue, attributeName, controlType ) => {
199
- if ( ['colorpicker', 'color'].includes( controlType ) ) {
200
- if ( 'rgb' in updatedValue && 'hex' in updatedValue ) {
201
- const { r, g, b, a } = updatedValue.rgb;
202
- updatedValue = a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : updatedValue.hex;
203
- } else {
204
- updatedValue = updatedValue.color.getAlpha() < 1 ? updatedValue.color.toRgbString() : updatedValue.color.toHexString();
205
- }
206
- }
207
-
208
- setAttributes( { [ attributeName ]: updatedValue } );
209
- }
210
-
211
- return (
212
- <>
213
- {!!blockArgs.attributes &&
214
- <InspectorControls>
215
- <PanelBody>
216
- {Object.entries( blockArgs.attributes ).map( ( [attributeName, attributeArgs] ) => {
217
- const { controlType } = attributeArgs;
218
- return <ComponentControl
219
- key={attributeName}
220
- attributeArgs={attributeArgs}
221
- attributeName={attributeName}
222
- attributes={attributes}
223
- blockName={blockName}
224
- onChange={_ => onChangeHandler( _, attributeName, controlType )}
225
- />
226
- } )}
227
- </PanelBody>
228
- </InspectorControls>
229
- }
230
- <Shortcode attributes={attributes} blockArgs={blockArgs}/>
231
- </>
232
- );
233
- }
234
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/builders/gutenberg/src/index.js DELETED
@@ -1,53 +0,0 @@
1
- /**
2
- * Handle YITH Gutenberg Blocks
3
- *
4
- * @var {Object} yithGutenbergBlocks The Gutenberg blocks object.
5
- */
6
-
7
- /**
8
- * External dependencies
9
- */
10
- import React from 'react';
11
- import md5 from 'md5';
12
-
13
- /**
14
- * WordPress dependencies
15
- */
16
- import { registerBlockType } from '@wordpress/blocks';
17
- import { RawHTML } from '@wordpress/element';
18
-
19
- /**
20
- * Internal dependencies
21
- */
22
- import { yith_icon, generateShortcode } from './common';
23
- import { createEditFunction } from './edit';
24
- import './common/actions-to-jquery-events';
25
-
26
- for ( const [blockName, blockArgs] of Object.entries( yithGutenbergBlocks ) ) {
27
- registerBlockType( 'yith/' + blockName, {
28
- title : blockArgs.title,
29
- description: blockArgs.description,
30
- category : blockArgs.category,
31
- attributes : blockArgs.attributes,
32
- icon : typeof blockArgs.icon !== 'undefined' ? blockArgs.icon : yith_icon,
33
- keywords : blockArgs.keywords,
34
- edit : createEditFunction( blockName, blockArgs ),
35
- save : ( { attributes } ) => {
36
- return generateShortcode( blockArgs, attributes );
37
- },
38
- deprecated : [
39
- {
40
- attributes: blockArgs.attributes,
41
- save : ( { attributes } ) => {
42
- const shortcode = generateShortcode( blockArgs, attributes );
43
- const blockHash = md5( shortcode );
44
- const shortcodeSpan = '<span class="yith_block_' + blockHash + '">' + shortcode + '</span>';
45
-
46
- return (
47
- <RawHTML>{shortcodeSpan}</RawHTML>
48
- )
49
- }
50
- }
51
- ]
52
- } );
53
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/includes/class-yit-assets.php CHANGED
@@ -81,6 +81,7 @@ if ( ! class_exists( 'YIT_Assets' ) ) {
81
  wp_register_script( 'yith_how_to', YIT_CORE_PLUGIN_URL . '/assets/js/how-to' . $suffix . '.js', array( 'jquery' ), $this->version, true );
82
  wp_register_script( 'yith-plugin-fw-wp-pages', YIT_CORE_PLUGIN_URL . '/assets/js/wp-pages' . $suffix . '.js', array( 'jquery' ), $this->version, false );
83
  wp_register_script( 'yith-bh-onboarding', YIT_CORE_PLUGIN_URL . '/assets/js/yith-bh-onboarding' . $suffix . '.js', array( 'jquery', 'yit-plugin-panel', 'yith-plugin-fw-fields', 'jquery-blockui' ), $this->version, true );
 
84
 
85
  // Register styles.
86
  wp_register_style( 'yith-plugin-ui', YIT_CORE_PLUGIN_URL . '/assets/css/yith-plugin-ui.css', array( 'yith-plugin-fw-icon-font' ), $this->version );
@@ -91,6 +92,7 @@ if ( ! class_exists( 'YIT_Assets' ) ) {
91
  wp_register_style( 'yit-plugin-metaboxes', YIT_CORE_PLUGIN_URL . '/assets/css/metaboxes.css', array( 'yith-plugin-ui' ), $this->version );
92
  wp_register_style( 'yith-plugin-fw-fields', YIT_CORE_PLUGIN_URL . '/assets/css/yith-fields.css', array( 'yith-plugin-ui' ), $this->version );
93
  wp_register_style( 'yith-bh-onboarding', YIT_CORE_PLUGIN_URL . '/assets/css/yith-bh-onboarding.css', array( 'yith-plugin-ui', 'yith-plugin-fw-fields' ), $this->version );
 
94
 
95
  $wc_version_suffix = '';
96
  if ( function_exists( 'WC' ) || ! empty( $woocommerce ) ) {
81
  wp_register_script( 'yith_how_to', YIT_CORE_PLUGIN_URL . '/assets/js/how-to' . $suffix . '.js', array( 'jquery' ), $this->version, true );
82
  wp_register_script( 'yith-plugin-fw-wp-pages', YIT_CORE_PLUGIN_URL . '/assets/js/wp-pages' . $suffix . '.js', array( 'jquery' ), $this->version, false );
83
  wp_register_script( 'yith-bh-onboarding', YIT_CORE_PLUGIN_URL . '/assets/js/yith-bh-onboarding' . $suffix . '.js', array( 'jquery', 'yit-plugin-panel', 'yith-plugin-fw-fields', 'jquery-blockui' ), $this->version, true );
84
+ wp_register_script( 'yith-plugin-fw-welcome-modal', YIT_CORE_PLUGIN_URL . '/assets/js/welcome-modal' . $suffix . '.js', array( 'jquery', 'wp-util', 'yith-ui' ), $this->version, true );
85
 
86
  // Register styles.
87
  wp_register_style( 'yith-plugin-ui', YIT_CORE_PLUGIN_URL . '/assets/css/yith-plugin-ui.css', array( 'yith-plugin-fw-icon-font' ), $this->version );
92
  wp_register_style( 'yit-plugin-metaboxes', YIT_CORE_PLUGIN_URL . '/assets/css/metaboxes.css', array( 'yith-plugin-ui' ), $this->version );
93
  wp_register_style( 'yith-plugin-fw-fields', YIT_CORE_PLUGIN_URL . '/assets/css/yith-fields.css', array( 'yith-plugin-ui' ), $this->version );
94
  wp_register_style( 'yith-bh-onboarding', YIT_CORE_PLUGIN_URL . '/assets/css/yith-bh-onboarding.css', array( 'yith-plugin-ui', 'yith-plugin-fw-fields' ), $this->version );
95
+ wp_register_style( 'yith-plugin-fw-welcome-modal', YIT_CORE_PLUGIN_URL . '/assets/css/welcome-modal.css', array(), $this->version );
96
 
97
  $wc_version_suffix = '';
98
  if ( function_exists( 'WC' ) || ! empty( $woocommerce ) ) {
plugin-fw/includes/class-yit-plugin-panel-woocommerce.php CHANGED
@@ -84,6 +84,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
84
 
85
  $this->maybe_init_help_tab();
86
  $this->maybe_init_premium_tab();
 
87
 
88
  add_action( 'admin_init', array( $this, 'set_default_options' ) );
89
  add_action( 'admin_menu', array( $this, 'add_setting_page' ) );
84
 
85
  $this->maybe_init_help_tab();
86
  $this->maybe_init_premium_tab();
87
+ $this->maybe_init_welcome_modals();
88
 
89
  add_action( 'admin_init', array( $this, 'set_default_options' ) );
90
  add_action( 'admin_menu', array( $this, 'add_setting_page' ) );
plugin-fw/includes/class-yit-plugin-panel.php CHANGED
@@ -105,6 +105,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
105
 
106
  $this->maybe_init_help_tab();
107
  $this->maybe_init_premium_tab();
 
108
 
109
  add_action( 'admin_init', array( $this, 'register_settings' ) );
110
  add_action( 'admin_menu', array( $this, 'add_setting_page' ), 20 );
@@ -207,8 +208,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
207
  /**
208
  * Init actions.
209
  *
210
- * @since 3.0.0
211
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
212
  */
213
  protected static function init_actions() {
214
  if ( ! static::$actions_initialized ) {
@@ -273,8 +274,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
273
  *
274
  * @param string $admin_body_classes Body classes.
275
  *
276
- * @return string
277
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
278
  * @since 3.0.0
279
  */
280
  public static function add_body_class( $admin_body_classes ) {
@@ -391,8 +392,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
391
  *
392
  * @param array $field The field to validate.
393
  *
394
- * @return array validated fields
395
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
396
  */
397
  public function options_validate( $field ) {
398
  $option_key = ! empty( $field['option_key'] ) ? $field['option_key'] : 'general';
@@ -440,8 +441,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
440
  /**
441
  * Add Premium Version upgrade menu item
442
  *
443
- * @since 2.9.13
444
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
 
445
  */
446
  public function add_premium_version_upgrade_to_menu() {
447
  // Add the How To menu item only if the customer haven't a premium version enabled.
@@ -503,9 +504,9 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
503
  * @param string $tab_name Tab name.
504
  * @param array $args Nav Arguments.
505
  *
 
506
  * @return string Tab HTML
507
  *
508
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
509
  * @since 3.4.0
510
  */
511
  protected function get_tab_nav( $tab_slug, $tab_name, $args = array() ) {
@@ -776,8 +777,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
776
  /**
777
  * Checks whether current tab is special Help Tab
778
  *
779
- * @return bool Whether current tab is Help Tab
780
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
 
781
  */
782
  public function is_help_tab() {
783
  return 'help' === $this->get_current_tab();
@@ -786,8 +787,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
786
  /**
787
  * Prints special Help Tab
788
  *
789
- * @return void
790
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
 
791
  */
792
  public function print_help_tab() {
793
  $options = isset( $this->settings['help_tab'] ) ? $this->settings['help_tab'] : array();
@@ -801,11 +802,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
801
 
802
  // translators: 1. Plugin name.
803
  $default_title = $is_premium ? _x( 'Thank you for purchasing %s!', 'Help tab default title', 'yith-plugin-fw' ) : _x( 'Thank you for using %s!', 'Help tab default title', 'yith-plugin-fw' );
804
- $default_doc_url = '';
805
-
806
- if ( isset( $this->settings['plugin_slug'] ) ) {
807
- $default_doc_url = $is_extended ? "https://www.bluehost.com/help/article/{$this->settings['plugin_slug']}/" : "https://docs.yithemes.com/{$this->settings['plugin_slug']}/";
808
- }
809
 
810
  // parse options.
811
  $options = wp_parse_args(
@@ -880,10 +877,219 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
880
  }
881
 
882
  /**
883
- * Checks whether current tab is Premium Tab
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
884
  *
 
885
  * @return bool
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
886
  * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
 
887
  * @since 3.9.0
888
  */
889
  protected function is_premium_tab() {
@@ -894,8 +1100,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
894
  * Check if panel has premium tab
895
  * (Check for premium Tab through the premium_tab param fully handled by plugin-fw)
896
  *
897
- * @return bool
898
  * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
 
899
  * @since 3.9.0
900
  */
901
  protected function has_premium_tab() {
@@ -905,8 +1111,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
905
  /**
906
  * Prints Premium Tab
907
  *
908
- * @return void
909
  * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
 
910
  * @since 3.9.0
911
  */
912
  protected function print_premium_tab() {
@@ -995,13 +1201,26 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
995
  * Get current tab.
996
  * Retrieve the id of tab shown, return general is the current tab is not defined.
997
  *
998
- * @return string|false
999
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
 
1000
  */
1001
  public function get_current_tab() {
1002
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
1003
  $admin_tabs = array_keys( $this->settings['admin-tabs'] );
1004
 
 
 
 
 
 
 
 
 
 
 
 
 
1005
  if ( ! isset( $_GET['page'] ) || $_GET['page'] !== $this->settings['page'] ) {
1006
  return false;
1007
  }
@@ -1020,12 +1239,26 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1020
  /**
1021
  * Get the current sub-tab.
1022
  *
1023
- * @return string The key of the sub-tab if exists, empty string otherwise.
1024
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
1025
  * @since 3.4.0
 
1026
  */
1027
  public function get_current_sub_tab() {
1028
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
 
 
 
 
 
 
 
 
 
 
 
 
 
1029
  $sub_tabs = $this->get_sub_tabs();
1030
  $sub_tab = isset( $_REQUEST['sub_tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['sub_tab'] ) ) : '';
1031
 
@@ -1046,19 +1279,19 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1046
  * for sub-tabbed tabs, it will return the current sub-tab.
1047
  * fot normal tabs, it will return the current tab.
1048
  *
1049
- * @return string the current sub-tab, if exists; the current tab otherwise.
1050
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
1051
  * @since 3.4.0
1052
  */
1053
  public function get_current_option_key() {
1054
  $current_tab = $this->get_current_tab();
1055
  $current_sub_tab = $this->get_current_sub_tab();
1056
 
1057
- if ( ! $current_tab ) {
1058
  return false;
1059
  }
1060
 
1061
- return $current_sub_tab ? $current_sub_tab : $current_tab;
1062
  }
1063
 
1064
  /**
@@ -1100,8 +1333,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1100
  * @param string $type The type of message (can be 'error' or 'updated').
1101
  * @param bool $echo Set to true if you want to print the message.
1102
  *
1103
- * @return string
1104
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1105
  */
1106
  public function get_message( $message, $type = 'error', $echo = true ) {
1107
  $message = '<div id="message" class="' . esc_attr( $type ) . ' fade"><p>' . wp_kses_post( $message ) . '</p></div>';
@@ -1116,8 +1349,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1116
  * Get Tab Path Files
1117
  * return an array with file names of tabs
1118
  *
1119
- * @return array
1120
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1121
  */
1122
  public function get_tabs_path_files() {
1123
  $option_files_path = $this->settings['options-path'] . '/';
@@ -1141,8 +1374,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1141
  * Get main array options
1142
  * return an array with all options defined on options-files
1143
  *
1144
- * @return array
1145
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1146
  */
1147
  public function get_main_array_options() {
1148
  $this->maybe_init_vars();
@@ -1177,7 +1410,7 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1177
 
1178
  if ( is_string( $_tab ) ) {
1179
  $main_array_options = $this->get_main_array_options();
1180
- $current_tab_options = isset( $main_array_options[ $_tab ] ) ? $main_array_options[ $_tab ] : array();
1181
  if ( $current_tab_options ) {
1182
  $_tab = array( $_tab => $current_tab_options );
1183
  }
@@ -1221,8 +1454,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1221
  * Set an array with all default options
1222
  * put default options in an array
1223
  *
1224
- * @return array
1225
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1226
  */
1227
  public function get_default_options() {
1228
  $yit_options = $this->get_main_array_options();
@@ -1248,8 +1481,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1248
  * Get the title of the tab
1249
  * return the title of tab
1250
  *
1251
- * @return string
1252
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1253
  */
1254
  public function get_tab_title() {
1255
  $yit_options = $this->get_main_array_options();
@@ -1272,8 +1505,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1272
  *
1273
  * @param string $section The section.
1274
  *
1275
- * @return string
1276
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1277
  */
1278
  public function get_section_title( $section ) {
1279
  $yit_options = $this->get_main_array_options();
@@ -1294,8 +1527,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1294
  *
1295
  * @param string $section The section.
1296
  *
1297
- * @return string
1298
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1299
  */
1300
  public function get_section_description( $section ) {
1301
  $yit_options = $this->get_main_array_options();
@@ -1315,8 +1548,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1315
  * Show form when necessary
1316
  * return true if 'showform' is not defined
1317
  *
1318
- * @return bool
1319
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1320
  */
1321
  public function is_show_form() {
1322
  $yit_options = $this->get_main_array_options();
@@ -1342,8 +1575,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1342
  *
1343
  * @param string $name The name.
1344
  *
1345
- * @return string
1346
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1347
  */
1348
  public function get_name_field( $name = '' ) {
1349
  return 'yit_' . $this->settings['parent'] . '_options[' . $name . ']';
@@ -1355,8 +1588,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1355
  *
1356
  * @param string $id The ID.
1357
  *
1358
- * @return string
1359
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1360
  */
1361
  public function get_id_field( $id ) {
1362
  return 'yit_' . $this->settings['parent'] . '_options_' . $id;
@@ -1370,8 +1603,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1370
  *
1371
  * @param array $param The parameters.
1372
  *
1373
- * @return void
1374
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1375
  */
1376
  public function render_field( $param ) {
1377
  if ( ! empty( $param ) && isset( $param ['option'] ) ) {
@@ -1413,8 +1646,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1413
  * return the options from db, if the options aren't defined in the db,
1414
  * get the default options ad add the options in the db
1415
  *
1416
- * @return array
1417
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
 
1418
  */
1419
  public function get_options() {
1420
  $options = get_option( 'yit_' . $this->settings['parent'] . '_options' );
@@ -1464,8 +1697,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1464
  /**
1465
  * Sort plugins by name in YITH Plugins menu.
1466
  *
1467
- * @since 3.0.0
1468
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
1469
  */
1470
  public static function sort_plugins() {
1471
  global $submenu;
@@ -1488,9 +1721,9 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1488
  *
1489
  * @param array $menu The menu.
1490
  *
 
1491
  * @return array
1492
  * @since 3.0.0
1493
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
1494
  */
1495
  public static function add_menu_class_in_yith_plugin( $menu ) {
1496
  global $submenu;
@@ -1685,8 +1918,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1685
  * If the panel page is a WP Page, this will redirect you to the correct page
1686
  * useful when a Post Type (Taxonomy) is the first tab of your panel, so when you open your panel it'll open the Post Type (Taxonomy) list
1687
  *
1688
- * @since 3.4.0
1689
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
1690
  */
1691
  public function maybe_redirect_to_proper_wp_page() {
1692
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
@@ -1711,8 +1944,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1711
  * Print the Panel tabs and sub-tabs navigation in WP pages
1712
  * Important: this opens a wrapper <div> that will be closed through YIT_Plugin_Panel::print_panel_tabs_in_post_edit_page_end()
1713
  *
1714
- * @since 3.4.0
1715
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
1716
  */
1717
  public function print_panel_tabs_in_wp_pages() {
1718
  if ( self::$panel_tabs_in_wp_pages && 'all_admin_notices' === current_action() ) {
@@ -1761,8 +1994,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
1761
  /**
1762
  * Close the wrapper opened in YIT_Plugin_Panel::print_panel_tabs_in_wp_pages()
1763
  *
1764
- * @since 3.4.0
1765
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
 
1766
  */
1767
  public function print_panel_tabs_in_wp_pages_end() {
1768
  if ( self::$panel_tabs_in_wp_pages ) {
105
 
106
  $this->maybe_init_help_tab();
107
  $this->maybe_init_premium_tab();
108
+ $this->maybe_init_welcome_modals();
109
 
110
  add_action( 'admin_init', array( $this, 'register_settings' ) );
111
  add_action( 'admin_menu', array( $this, 'add_setting_page' ), 20 );
208
  /**
209
  * Init actions.
210
  *
 
211
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
212
+ * @since 3.0.0
213
  */
214
  protected static function init_actions() {
215
  if ( ! static::$actions_initialized ) {
274
  *
275
  * @param string $admin_body_classes Body classes.
276
  *
 
277
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
278
+ * @return string
279
  * @since 3.0.0
280
  */
281
  public static function add_body_class( $admin_body_classes ) {
392
  *
393
  * @param array $field The field to validate.
394
  *
 
395
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
396
+ * @return array validated fields
397
  */
398
  public function options_validate( $field ) {
399
  $option_key = ! empty( $field['option_key'] ) ? $field['option_key'] : 'general';
441
  /**
442
  * Add Premium Version upgrade menu item
443
  *
 
444
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
445
+ * @since 2.9.13
446
  */
447
  public function add_premium_version_upgrade_to_menu() {
448
  // Add the How To menu item only if the customer haven't a premium version enabled.
504
  * @param string $tab_name Tab name.
505
  * @param array $args Nav Arguments.
506
  *
507
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
508
  * @return string Tab HTML
509
  *
 
510
  * @since 3.4.0
511
  */
512
  protected function get_tab_nav( $tab_slug, $tab_name, $args = array() ) {
777
  /**
778
  * Checks whether current tab is special Help Tab
779
  *
 
780
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
781
+ * @return bool Whether current tab is Help Tab
782
  */
783
  public function is_help_tab() {
784
  return 'help' === $this->get_current_tab();
787
  /**
788
  * Prints special Help Tab
789
  *
 
790
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
791
+ * @return void
792
  */
793
  public function print_help_tab() {
794
  $options = isset( $this->settings['help_tab'] ) ? $this->settings['help_tab'] : array();
802
 
803
  // translators: 1. Plugin name.
804
  $default_title = $is_premium ? _x( 'Thank you for purchasing %s!', 'Help tab default title', 'yith-plugin-fw' ) : _x( 'Thank you for using %s!', 'Help tab default title', 'yith-plugin-fw' );
805
+ $default_doc_url = $this->get_doc_url();
 
 
 
 
806
 
807
  // parse options.
808
  $options = wp_parse_args(
877
  }
878
 
879
  /**
880
+ * Get the plugin doc URL.
881
+ *
882
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
883
+ * @return string
884
+ * @since 3.9.14
885
+ */
886
+ protected function get_doc_url() {
887
+ $plugin_slug = sanitize_title( $this->settings['plugin_slug'] ?? '' );
888
+ if ( $plugin_slug ) {
889
+ return $this->is_extended() ? "https://www.bluehost.com/help/article/{$plugin_slug}/" : "https://docs.yithemes.com/{$plugin_slug}/";
890
+ }
891
+
892
+ return '';
893
+ }
894
+
895
+ /**
896
+ * Is in panel?
897
  *
898
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
899
  * @return bool
900
+ * @since 3.9.14
901
+ */
902
+ protected function is_panel(): bool {
903
+ $is_panel = yith_plugin_fw_is_panel() && isset( $_GET['page'] ) && $_GET['page'] === $this->settings['page']; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
904
+ $is_wp_page_in_panel = isset( self::$panel_tabs_in_wp_pages, self::$panel_tabs_in_wp_pages['page'] ) && self::$panel_tabs_in_wp_pages['page'] === $this->settings['page'];
905
+
906
+ return $is_panel || $is_wp_page_in_panel;
907
+ }
908
+
909
+ /**
910
+ * Is this the first panel page?
911
+ *
912
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
913
+ * @return bool
914
+ * @since 3.9.14
915
+ */
916
+ protected function is_first_page(): bool {
917
+ $is_first_page = false;
918
+ if ( $this->is_panel() ) {
919
+ $first_tab = current( array_keys( $this->settings['admin-tabs'] ?? array() ) );
920
+ $sub_tabs = $this->get_sub_tabs( $first_tab );
921
+ $first_sub_tab = current( array_keys( $sub_tabs ) );
922
+
923
+ $tab = $this->get_current_tab();
924
+ $sub_tab = $this->get_current_sub_tab();
925
+
926
+ $is_first_page = $first_tab === $tab;
927
+
928
+ if ( $is_first_page && ! ! $first_sub_tab ) {
929
+ $is_first_page = $first_sub_tab === $sub_tab;
930
+ }
931
+ }
932
+
933
+ return $is_first_page;
934
+ }
935
+
936
+ /**
937
+ * Add welcome modals.
938
+ *
939
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
940
+ * @since 3.9.14
941
+ */
942
+ protected function maybe_init_welcome_modals() {
943
+ if ( isset( $this->settings['welcome_modals'] ) ) {
944
+ // Priority needs to be greater than 11, to correctly check if it's first page also for WP pages.
945
+ add_action( 'admin_enqueue_scripts', array( $this, 'maybe_print_welcome_modal' ), 20 );
946
+ add_action( 'admin_init', array( $this, 'handle_welcome_modal_action' ) );
947
+ }
948
+ }
949
+
950
+ /**
951
+ * Handle welcome modal actions.
952
+ *
953
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
954
+ * @since 3.9.14
955
+ */
956
+ public function handle_welcome_modal_action() {
957
+ if ( isset( $_GET['yith-plugin-fw-welcome-modal-close'], $_GET['yith-panel-page'] ) && $_GET['yith-panel-page'] === $this->settings['page'] ) {
958
+ check_admin_referer( 'welcome-modal-close' );
959
+ $modal = sanitize_key( wp_unslash( $_GET['yith-plugin-fw-welcome-modal-close'] ) );
960
+ $on_close = $this->settings['welcome_modals']['modals'][ $modal ]['on_close'] ?? $this->settings['welcome_modals']['on_close'] ?? false;
961
+
962
+ if ( $on_close && is_callable( $on_close ) ) {
963
+ call_user_func( $on_close );
964
+ }
965
+
966
+ wp_safe_redirect( add_query_arg( array( 'page' => $this->settings['page'] ), admin_url( 'admin.php' ) ) );
967
+ exit();
968
+ }
969
+ }
970
+
971
+ /**
972
+ * Print the welcome modal.
973
+ *
974
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
975
+ * @since 3.9.14
976
+ */
977
+ public function maybe_print_welcome_modal() {
978
+ $settings = $this->settings['welcome_modals'] ?? array();
979
+ $modals = $settings['modals'] ?? array();
980
+ $show_in = $settings['show_in'] ?? 'panel';
981
+
982
+ if ( ! $this->is_panel() ) {
983
+ return;
984
+ }
985
+
986
+ $is_page_to_show = true;
987
+
988
+ switch ( $show_in ) {
989
+ case 'panel':
990
+ break;
991
+ case 'first_page':
992
+ $is_page_to_show = $this->is_first_page();
993
+ break;
994
+ default:
995
+ if ( is_callable( $show_in ) ) {
996
+ $context = array(
997
+ 'is_first_page' => $this->is_first_page(),
998
+ 'tab' => $this->get_current_tab(),
999
+ 'sub_tab' => $this->get_current_sub_tab(),
1000
+ );
1001
+ $is_page_to_show = call_user_func( $show_in, $context );
1002
+ }
1003
+ break;
1004
+ }
1005
+
1006
+ if ( $is_page_to_show ) {
1007
+ foreach ( $modals as $key => $modal ) {
1008
+ $show = $modal['show'] ?? null;
1009
+ $should_be_shown = ! ! ( is_callable( $show ) ? call_user_func( $show ) : $show );
1010
+ $modal['items'] = $modal['items'] ?? array();
1011
+
1012
+ if ( $should_be_shown ) {
1013
+ $type = $modal['type'] ?? $key;
1014
+ $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/welcome-modals/' . $type . '.php';
1015
+ $close_url = wp_nonce_url(
1016
+ add_query_arg(
1017
+ array(
1018
+ 'yith-plugin-fw-welcome-modal-close' => $key,
1019
+ 'yith-panel-page' => $this->settings['page'],
1020
+ ),
1021
+ admin_url()
1022
+ ),
1023
+ 'welcome-modal-close'
1024
+ );
1025
+ $plugin = array(
1026
+ 'name' => $this->settings['plugin_name'] ?? $this->settings['page_title'] ?? '',
1027
+ 'version' => $this->settings['plugin_version'] ?? '',
1028
+ 'slug' => $this->settings['plugin_slug'] ?? '',
1029
+ 'icon' => $this->settings['plugin_icon'] ?? '',
1030
+ );
1031
+
1032
+ $plugin['version'] = preg_replace( '/\.0$/', '', $plugin['version'] ); // Make the version nicer.
1033
+
1034
+ if ( 'welcome' === $type ) {
1035
+ if ( isset( $modal['items']['documentation'] ) ) {
1036
+ $modal['items']['documentation'] = wp_parse_args(
1037
+ $modal['items']['documentation'],
1038
+ array(
1039
+ 'title' => __( 'Read the <mark>plugin documentation</mark>', 'yith-plugin-fw' ),
1040
+ 'description' => __( 'Learn what you can really do with this powerful tool', 'yith-plugin-fw' ),
1041
+ 'url' => $this->get_doc_url(),
1042
+ )
1043
+ );
1044
+ }
1045
+
1046
+ if ( isset( $modal['items']['how-to-video'], $modal['items']['how-to-video']['url'] ) ) {
1047
+ $modal['items']['how-to-video'] = wp_parse_args(
1048
+ $modal['items']['how-to-video'],
1049
+ array(
1050
+ 'title' => __( 'Watch our <mark>"First Steps" video</mark>', 'yith-plugin-fw' ),
1051
+ 'description' => __( 'See how it works before you start using it', 'yith-plugin-fw' ),
1052
+ )
1053
+ );
1054
+ }
1055
+ }
1056
+
1057
+ if ( 'update' === $type ) {
1058
+ if ( ! isset( $modal['changelog_url'] ) && $this->is_premium() && ! $this->is_extended() ) {
1059
+ $doc_url = $this->get_doc_url();
1060
+ if ( $doc_url ) {
1061
+ $modal['changelog_url'] = trailingslashit( $doc_url ) . 'changelog/changelog-premium-version/';
1062
+ }
1063
+ }
1064
+ }
1065
+
1066
+ if ( file_exists( $template ) ) {
1067
+ wp_enqueue_script( 'yith-plugin-fw-welcome-modal' );
1068
+ wp_enqueue_style( 'yith-plugin-fw-welcome-modal' );
1069
+
1070
+ // Plugin, modal and close_url variables are required in the modal templates.
1071
+ $print_template_cb = function () use ( $template, $plugin, $modal, $close_url ) {
1072
+ ?>
1073
+ <script type="text/html" id="tmpl-yith-plugin-fw-welcome-modal">
1074
+ <?php include $template; ?>
1075
+ </script>
1076
+ <?php
1077
+ };
1078
+
1079
+ add_action( 'admin_footer', $print_template_cb );
1080
+ }
1081
+
1082
+ break;
1083
+ }
1084
+ }
1085
+ }
1086
+ }
1087
+
1088
+ /**
1089
+ * Checks whether current tab is Premium Tab
1090
+ *
1091
  * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
1092
+ * @return bool
1093
  * @since 3.9.0
1094
  */
1095
  protected function is_premium_tab() {
1100
  * Check if panel has premium tab
1101
  * (Check for premium Tab through the premium_tab param fully handled by plugin-fw)
1102
  *
 
1103
  * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
1104
+ * @return bool
1105
  * @since 3.9.0
1106
  */
1107
  protected function has_premium_tab() {
1111
  /**
1112
  * Prints Premium Tab
1113
  *
 
1114
  * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
1115
+ * @return void
1116
  * @since 3.9.0
1117
  */
1118
  protected function print_premium_tab() {
1201
  * Get current tab.
1202
  * Retrieve the id of tab shown, return general is the current tab is not defined.
1203
  *
 
1204
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1205
+ * @return string|false
1206
+ * @since 3.9.14 Check for WP pages.
1207
  */
1208
  public function get_current_tab() {
1209
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
1210
  $admin_tabs = array_keys( $this->settings['admin-tabs'] );
1211
 
1212
+ global $post_type, $taxonomy;
1213
+ $wp_tabs = array();
1214
+ if ( $this->is_custom_post_type_page() ) {
1215
+ $wp_tabs = $this->get_post_type_tabs( $post_type );
1216
+ } elseif ( $this->is_custom_taxonomy_page() ) {
1217
+ $wp_tabs = $this->get_taxonomy_tabs( $taxonomy );
1218
+ }
1219
+
1220
+ if ( $wp_tabs && isset( $wp_tabs['tab'] ) ) {
1221
+ return $wp_tabs['tab'];
1222
+ }
1223
+
1224
  if ( ! isset( $_GET['page'] ) || $_GET['page'] !== $this->settings['page'] ) {
1225
  return false;
1226
  }
1239
  /**
1240
  * Get the current sub-tab.
1241
  *
 
1242
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
1243
+ * @return string The key of the sub-tab if exists, empty string otherwise.
1244
  * @since 3.4.0
1245
+ * @since 3.9.14 Check for WP pages.
1246
  */
1247
  public function get_current_sub_tab() {
1248
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
1249
+
1250
+ global $post_type, $taxonomy;
1251
+ $wp_tabs = array();
1252
+ if ( $this->is_custom_post_type_page() ) {
1253
+ $wp_tabs = $this->get_post_type_tabs( $post_type );
1254
+ } elseif ( $this->is_custom_taxonomy_page() ) {
1255
+ $wp_tabs = $this->get_taxonomy_tabs( $taxonomy );
1256
+ }
1257
+
1258
+ if ( $wp_tabs && isset( $wp_tabs['sub_tab'] ) ) {
1259
+ return $wp_tabs['sub_tab'];
1260
+ }
1261
+
1262
  $sub_tabs = $this->get_sub_tabs();
1263
  $sub_tab = isset( $_REQUEST['sub_tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['sub_tab'] ) ) : '';
1264
 
1279
  * for sub-tabbed tabs, it will return the current sub-tab.
1280
  * fot normal tabs, it will return the current tab.
1281
  *
 
1282
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
1283
+ * @return string the current sub-tab, if exists; the current tab otherwise.
1284
  * @since 3.4.0
1285
  */
1286
  public function get_current_option_key() {
1287
  $current_tab = $this->get_current_tab();
1288
  $current_sub_tab = $this->get_current_sub_tab();
1289
 
1290
+ if ( ! $current_tab || $this->is_custom_post_type_page() || $this->is_custom_taxonomy_page() ) {
1291
  return false;
1292
  }
1293
 
1294
+ return ! ! $current_sub_tab ? $current_sub_tab : $current_tab;
1295
  }
1296
 
1297
  /**
1333
  * @param string $type The type of message (can be 'error' or 'updated').
1334
  * @param bool $echo Set to true if you want to print the message.
1335
  *
 
1336
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1337
+ * @return string
1338
  */
1339
  public function get_message( $message, $type = 'error', $echo = true ) {
1340
  $message = '<div id="message" class="' . esc_attr( $type ) . ' fade"><p>' . wp_kses_post( $message ) . '</p></div>';
1349
  * Get Tab Path Files
1350
  * return an array with file names of tabs
1351
  *
 
1352
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1353
+ * @return array
1354
  */
1355
  public function get_tabs_path_files() {
1356
  $option_files_path = $this->settings['options-path'] . '/';
1374
  * Get main array options
1375
  * return an array with all options defined on options-files
1376
  *
 
1377
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1378
+ * @return array
1379
  */
1380
  public function get_main_array_options() {
1381
  $this->maybe_init_vars();
1410
 
1411
  if ( is_string( $_tab ) ) {
1412
  $main_array_options = $this->get_main_array_options();
1413
+ $current_tab_options = $main_array_options[ $_tab ] ?? array();
1414
  if ( $current_tab_options ) {
1415
  $_tab = array( $_tab => $current_tab_options );
1416
  }
1454
  * Set an array with all default options
1455
  * put default options in an array
1456
  *
 
1457
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1458
+ * @return array
1459
  */
1460
  public function get_default_options() {
1461
  $yit_options = $this->get_main_array_options();
1481
  * Get the title of the tab
1482
  * return the title of tab
1483
  *
 
1484
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1485
+ * @return string
1486
  */
1487
  public function get_tab_title() {
1488
  $yit_options = $this->get_main_array_options();
1505
  *
1506
  * @param string $section The section.
1507
  *
 
1508
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1509
+ * @return string
1510
  */
1511
  public function get_section_title( $section ) {
1512
  $yit_options = $this->get_main_array_options();
1527
  *
1528
  * @param string $section The section.
1529
  *
 
1530
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1531
+ * @return string
1532
  */
1533
  public function get_section_description( $section ) {
1534
  $yit_options = $this->get_main_array_options();
1548
  * Show form when necessary
1549
  * return true if 'showform' is not defined
1550
  *
 
1551
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1552
+ * @return bool
1553
  */
1554
  public function is_show_form() {
1555
  $yit_options = $this->get_main_array_options();
1575
  *
1576
  * @param string $name The name.
1577
  *
 
1578
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1579
+ * @return string
1580
  */
1581
  public function get_name_field( $name = '' ) {
1582
  return 'yit_' . $this->settings['parent'] . '_options[' . $name . ']';
1588
  *
1589
  * @param string $id The ID.
1590
  *
 
1591
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1592
+ * @return string
1593
  */
1594
  public function get_id_field( $id ) {
1595
  return 'yit_' . $this->settings['parent'] . '_options_' . $id;
1603
  *
1604
  * @param array $param The parameters.
1605
  *
 
1606
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1607
+ * @return void
1608
  */
1609
  public function render_field( $param ) {
1610
  if ( ! empty( $param ) && isset( $param ['option'] ) ) {
1646
  * return the options from db, if the options aren't defined in the db,
1647
  * get the default options ad add the options in the db
1648
  *
 
1649
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1650
+ * @return array
1651
  */
1652
  public function get_options() {
1653
  $options = get_option( 'yit_' . $this->settings['parent'] . '_options' );
1697
  /**
1698
  * Sort plugins by name in YITH Plugins menu.
1699
  *
 
1700
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
1701
+ * @since 3.0.0
1702
  */
1703
  public static function sort_plugins() {
1704
  global $submenu;
1721
  *
1722
  * @param array $menu The menu.
1723
  *
1724
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1725
  * @return array
1726
  * @since 3.0.0
 
1727
  */
1728
  public static function add_menu_class_in_yith_plugin( $menu ) {
1729
  global $submenu;
1918
  * If the panel page is a WP Page, this will redirect you to the correct page
1919
  * useful when a Post Type (Taxonomy) is the first tab of your panel, so when you open your panel it'll open the Post Type (Taxonomy) list
1920
  *
 
1921
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
1922
+ * @since 3.4.0
1923
  */
1924
  public function maybe_redirect_to_proper_wp_page() {
1925
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
1944
  * Print the Panel tabs and sub-tabs navigation in WP pages
1945
  * Important: this opens a wrapper <div> that will be closed through YIT_Plugin_Panel::print_panel_tabs_in_post_edit_page_end()
1946
  *
 
1947
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
1948
+ * @since 3.4.0
1949
  */
1950
  public function print_panel_tabs_in_wp_pages() {
1951
  if ( self::$panel_tabs_in_wp_pages && 'all_admin_notices' === current_action() ) {
1994
  /**
1995
  * Close the wrapper opened in YIT_Plugin_Panel::print_panel_tabs_in_wp_pages()
1996
  *
 
1997
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
1998
+ * @since 3.4.0
1999
  */
2000
  public function print_panel_tabs_in_wp_pages_end() {
2001
  if ( self::$panel_tabs_in_wp_pages ) {
plugin-fw/includes/class-yith-post-type-admin.php CHANGED
@@ -427,7 +427,7 @@ if ( ! class_exists( 'YITH_Post_Type_Admin' ) ) {
427
  }
428
 
429
  /**
430
- * Disable Months dropdown for Bookings
431
  *
432
  * @param bool $disable Set true to disable.
433
  * @param string $post_type The post type.
427
  }
428
 
429
  /**
430
+ * Disable Months dropdown
431
  *
432
  * @param bool $disable Set true to disable.
433
  * @param string $post_type The post type.
plugin-fw/init.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
- * Version: 3.9.13
5
  * Author: YITH
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author YITH
10
- * @version 3.9.13
11
  * @package YITH\PluginFramework
12
  */
13
 
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
+ * Version: 3.9.15
5
  * Author: YITH
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author YITH
10
+ * @version 3.9.15
11
  * @package YITH\PluginFramework
12
  */
13
 
plugin-fw/languages/yith-plugin-fw-el.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-el.po CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
8
  "PO-Revision-Date: 2021-02-11 18:07:46+0000\n"
9
  "Language: el_GR\n"
10
  "MIME-Version: 1.0\n"
@@ -13,56 +13,56 @@ msgstr ""
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
- #: includes/class-yit-assets.php:146 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr ""
19
 
20
- #: includes/class-yit-assets.php:147
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr ""
23
 
24
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
25
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
  #: yit-functions.php:2008 yit-functions.php:2026
27
  msgid "No"
28
  msgstr "Όχι"
29
 
30
- #: includes/class-yit-assets.php:150 yit-functions.php:2024
31
  #: yit-functions.php:2152
32
  msgid "Confirm delete"
33
  msgstr ""
34
 
35
- #: includes/class-yit-assets.php:151
36
  msgid "Are you sure you want to delete the selected items?"
37
  msgstr ""
38
 
39
- #: includes/class-yit-assets.php:151 yit-functions.php:1940
40
  #: yit-functions.php:2100
41
  msgid ""
42
  "This action cannot be undone and you will not be able to recover this data."
43
  msgstr ""
44
 
45
- #: includes/class-yit-assets.php:172
46
  msgid "Clear"
47
  msgstr "Καθαρισμός"
48
 
49
- #: includes/class-yit-assets.php:173
50
  msgid "Clear color"
51
  msgstr "Καθαρισμός χρώματος"
52
 
53
- #: includes/class-yit-assets.php:174
54
  msgid "Default"
55
  msgstr "Προεπιλεγμένο"
56
 
57
- #: includes/class-yit-assets.php:175
58
  msgid "Select default color"
59
  msgstr "Επιλογή προεπιλεγμένου χρώματος"
60
 
61
- #: includes/class-yit-assets.php:176
62
  msgid "Select Color"
63
  msgstr "Επιλογή Χρώματος"
64
 
65
- #: includes/class-yit-assets.php:177
66
  msgid "Color value"
67
  msgstr "Αξία χρώματος"
68
 
@@ -70,7 +70,7 @@ msgstr "Αξία χρώματος"
70
  msgid "There was an error with your request; please try again later."
71
  msgstr ""
72
 
73
- #: includes/class-yit-plugin-panel-woocommerce.php:430
74
  msgid "The changes you have made will be lost if you leave this page."
75
  msgstr ""
76
  "Οι αλλαγές που έχετε δημιουργήσει θα χαθούν αν αφήσετε αυτήν την σελίδα."
@@ -83,17 +83,17 @@ msgstr "Ρυθμίσεις Προσθέτου"
83
  msgid "Settings"
84
  msgstr "Ρυθμίσεις"
85
 
86
- #: includes/class-yit-plugin-panel.php:455
87
- #: includes/class-yit-plugin-panel.php:458
88
  msgid "How to install premium version"
89
  msgstr "Πώς να εγκαταστήσετε την προηγμένη έκδοση"
90
 
91
- #: includes/class-yit-plugin-panel.php:655
92
  #: includes/class-yit-plugin-subpanel.php:133
93
  msgid "Save Changes"
94
  msgstr "Αποθήκευση Αλλαγών"
95
 
96
- #: includes/class-yit-plugin-panel.php:663
97
  #: includes/class-yit-plugin-subpanel.php:140
98
  #: templates/panel/woocommerce/woocommerce-form.php:15
99
  msgid ""
@@ -102,73 +102,89 @@ msgstr ""
102
  "Αν συνεχίσετε με αυτή την ενέργεια θα επαναφέρετε όλες τις επιλογές στη "
103
  "σελίδα."
104
 
105
- #: includes/class-yit-plugin-panel.php:663
106
  #: includes/class-yit-plugin-subpanel.php:140
107
  #: templates/panel/woocommerce/woocommerce-form.php:15
108
  msgid "Are you sure?"
109
  msgstr "Είστε σίγουρος;"
110
 
111
- #: includes/class-yit-plugin-panel.php:667
112
  #: includes/class-yit-plugin-subpanel.php:143
113
  msgid "Reset to default"
114
  msgstr "Επαναφορά σε προεπιλεγμένο"
115
 
116
- #: includes/class-yit-plugin-panel.php:1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  msgid ""
118
  "The element you have entered already exists. Please, enter another name."
119
  msgstr "Το στοιχείο που εισάγατε υπάρχει ήδη. Παρακαλώ, εισάγετε άλλο όνομα."
120
 
121
- #: includes/class-yit-plugin-panel.php:1075
122
  msgid "Settings saved"
123
  msgstr "Ρυθμίσεις αποθηκεύτηκαν"
124
 
125
- #: includes/class-yit-plugin-panel.php:1076
126
  msgid "Settings reset"
127
  msgstr "Επαναφορά ρυθμίσεων"
128
 
129
- #: includes/class-yit-plugin-panel.php:1077
130
  msgid "Element deleted correctly."
131
  msgstr "Το στοιχείο διαγράφηκε επιτυχώς."
132
 
133
- #: includes/class-yit-plugin-panel.php:1078
134
- #: includes/class-yit-plugin-panel.php:1079
135
  msgid "Element updated correctly."
136
  msgstr "Το στοιχείο αναβαθμίστηκε επιτυχώς."
137
 
138
- #: includes/class-yit-plugin-panel.php:1080
139
  msgid "Database imported correctly."
140
  msgstr "Επιτυχής εισαγωγή βάσης δεδομένων."
141
 
142
- #: includes/class-yit-plugin-panel.php:1081
143
  msgid "An error has occurred during import. Please try again."
144
  msgstr "Παρουσιάστηκε σφάλμα κατά την εισαγωγή. Παρακαλώ προσπαθήστε ξανά."
145
 
146
- #: includes/class-yit-plugin-panel.php:1082
147
  msgid "The added file is not valid."
148
  msgstr "Το προστιθέμενο αρχείο δεν είναι έγκυρο."
149
 
150
- #: includes/class-yit-plugin-panel.php:1083
151
  msgid "Sorry, import is disabled."
152
  msgstr "Συγνώμη, η εισαγωγή είναι απενεργοποιημένη."
153
 
154
- #: includes/class-yit-plugin-panel.php:1084
155
  msgid "Sorting successful."
156
  msgstr "Διαλογή επιτυχής."
157
 
158
- #: includes/class-yit-plugin-panel.php:1573
159
  msgid "We need your support"
160
  msgstr "Χρειαζόμαστε την υποστήριξή σας"
161
 
162
- #: includes/class-yit-plugin-panel.php:1574
163
  msgid "to keep updating and improving the plugin. Please,"
164
  msgstr ""
165
  "για να διατηρήσετε την ενημέρωση και τη βελτίωση του πρόσθετου. Παρακαλώ,"
166
 
167
- #: includes/class-yit-plugin-panel.php:1576
168
  msgid "help us by leaving a good review"
169
  msgstr ""
170
 
171
- #: includes/class-yit-plugin-panel.php:1577
172
  msgid ":) Thanks!"
173
  msgstr ":) Ευχαριστώ!"
174
 
@@ -536,6 +552,34 @@ msgstr "Ανέβασμα"
536
  msgid "Reset"
537
  msgstr "Επαναφορά"
538
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
539
  #: templates/panel/woocommerce/woocommerce-form.php:29
540
  #: templates/panel/woocommerce/woocommerce-form.php:33
541
  msgid "Save Options"
@@ -716,50 +760,50 @@ msgctxt "[gutenberg]: Category Name"
716
  msgid "YITH"
717
  msgstr "YITH"
718
 
719
- #: includes/class-yit-assets.php:134
720
  msgctxt "Button text"
721
  msgid "Confirm"
722
  msgstr ""
723
 
724
- #: includes/class-yit-assets.php:135
725
  msgctxt "Button text"
726
  msgid "Cancel"
727
  msgstr ""
728
 
729
- #: includes/class-yit-assets.php:148 yit-functions.php:2009
730
  msgctxt "Trash confirmation action"
731
  msgid "Yes, move to trash"
732
  msgstr ""
733
 
734
- #: includes/class-yit-assets.php:152 yit-functions.php:2027
735
  #: yit-functions.php:2154
736
  msgctxt "Delete confirmation action"
737
  msgid "Yes, delete"
738
  msgstr ""
739
 
740
  #. translators: 1. Plugin name.
741
- #: includes/class-yit-plugin-panel.php:803
742
  msgctxt "Help tab default title"
743
  msgid "Thank you for purchasing %s!"
744
  msgstr ""
745
 
746
- #: includes/class-yit-plugin-panel.php:803
747
  msgctxt "Help tab default title"
748
  msgid "Thank you for using %s!"
749
  msgstr ""
750
 
751
- #: includes/class-yit-plugin-panel.php:815
752
  msgctxt "Help tab default description"
753
  msgid ""
754
  "We want to help you enjoy a wonderful experience with all of our products."
755
  msgstr ""
756
 
757
- #: includes/class-yit-plugin-panel.php:866
758
  msgctxt "Premium tab name"
759
  msgid "Get premium"
760
  msgstr ""
761
 
762
- #: includes/class-yit-plugin-panel.php:878
763
  msgctxt "Help tab name"
764
  msgid "Help"
765
  msgstr ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2022-08-10 12:46:35+00:00\n"
8
  "PO-Revision-Date: 2021-02-11 18:07:46+0000\n"
9
  "Language: el_GR\n"
10
  "MIME-Version: 1.0\n"
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
+ #: includes/class-yit-assets.php:148 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr ""
19
 
20
+ #: includes/class-yit-assets.php:149
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr ""
23
 
24
+ #: includes/class-yit-assets.php:151 includes/class-yit-assets.php:155
25
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
  #: yit-functions.php:2008 yit-functions.php:2026
27
  msgid "No"
28
  msgstr "Όχι"
29
 
30
+ #: includes/class-yit-assets.php:152 yit-functions.php:2024
31
  #: yit-functions.php:2152
32
  msgid "Confirm delete"
33
  msgstr ""
34
 
35
+ #: includes/class-yit-assets.php:153
36
  msgid "Are you sure you want to delete the selected items?"
37
  msgstr ""
38
 
39
+ #: includes/class-yit-assets.php:153 yit-functions.php:1940
40
  #: yit-functions.php:2100
41
  msgid ""
42
  "This action cannot be undone and you will not be able to recover this data."
43
  msgstr ""
44
 
45
+ #: includes/class-yit-assets.php:174
46
  msgid "Clear"
47
  msgstr "Καθαρισμός"
48
 
49
+ #: includes/class-yit-assets.php:175
50
  msgid "Clear color"
51
  msgstr "Καθαρισμός χρώματος"
52
 
53
+ #: includes/class-yit-assets.php:176
54
  msgid "Default"
55
  msgstr "Προεπιλεγμένο"
56
 
57
+ #: includes/class-yit-assets.php:177
58
  msgid "Select default color"
59
  msgstr "Επιλογή προεπιλεγμένου χρώματος"
60
 
61
+ #: includes/class-yit-assets.php:178
62
  msgid "Select Color"
63
  msgstr "Επιλογή Χρώματος"
64
 
65
+ #: includes/class-yit-assets.php:179
66
  msgid "Color value"
67
  msgstr "Αξία χρώματος"
68
 
70
  msgid "There was an error with your request; please try again later."
71
  msgstr ""
72
 
73
+ #: includes/class-yit-plugin-panel-woocommerce.php:437
74
  msgid "The changes you have made will be lost if you leave this page."
75
  msgstr ""
76
  "Οι αλλαγές που έχετε δημιουργήσει θα χαθούν αν αφήσετε αυτήν την σελίδα."
83
  msgid "Settings"
84
  msgstr "Ρυθμίσεις"
85
 
86
+ #: includes/class-yit-plugin-panel.php:456
87
+ #: includes/class-yit-plugin-panel.php:459
88
  msgid "How to install premium version"
89
  msgstr "Πώς να εγκαταστήσετε την προηγμένη έκδοση"
90
 
91
+ #: includes/class-yit-plugin-panel.php:656
92
  #: includes/class-yit-plugin-subpanel.php:133
93
  msgid "Save Changes"
94
  msgstr "Αποθήκευση Αλλαγών"
95
 
96
+ #: includes/class-yit-plugin-panel.php:664
97
  #: includes/class-yit-plugin-subpanel.php:140
98
  #: templates/panel/woocommerce/woocommerce-form.php:15
99
  msgid ""
102
  "Αν συνεχίσετε με αυτή την ενέργεια θα επαναφέρετε όλες τις επιλογές στη "
103
  "σελίδα."
104
 
105
+ #: includes/class-yit-plugin-panel.php:664
106
  #: includes/class-yit-plugin-subpanel.php:140
107
  #: templates/panel/woocommerce/woocommerce-form.php:15
108
  msgid "Are you sure?"
109
  msgstr "Είστε σίγουρος;"
110
 
111
+ #: includes/class-yit-plugin-panel.php:668
112
  #: includes/class-yit-plugin-subpanel.php:143
113
  msgid "Reset to default"
114
  msgstr "Επαναφορά σε προεπιλεγμένο"
115
 
116
+ #: includes/class-yit-plugin-panel.php:1039
117
+ msgid "Read the <mark>plugin documentation</mark>"
118
+ msgstr ""
119
+
120
+ #: includes/class-yit-plugin-panel.php:1040
121
+ msgid "Learn what you can really do with this powerful tool"
122
+ msgstr ""
123
+
124
+ #: includes/class-yit-plugin-panel.php:1050
125
+ msgid "Watch our <mark>\"First Steps\" video</mark>"
126
+ msgstr ""
127
+
128
+ #: includes/class-yit-plugin-panel.php:1051
129
+ msgid "See how it works before you start using it"
130
+ msgstr ""
131
+
132
+ #: includes/class-yit-plugin-panel.php:1307
133
  msgid ""
134
  "The element you have entered already exists. Please, enter another name."
135
  msgstr "Το στοιχείο που εισάγατε υπάρχει ήδη. Παρακαλώ, εισάγετε άλλο όνομα."
136
 
137
+ #: includes/class-yit-plugin-panel.php:1308
138
  msgid "Settings saved"
139
  msgstr "Ρυθμίσεις αποθηκεύτηκαν"
140
 
141
+ #: includes/class-yit-plugin-panel.php:1309
142
  msgid "Settings reset"
143
  msgstr "Επαναφορά ρυθμίσεων"
144
 
145
+ #: includes/class-yit-plugin-panel.php:1310
146
  msgid "Element deleted correctly."
147
  msgstr "Το στοιχείο διαγράφηκε επιτυχώς."
148
 
149
+ #: includes/class-yit-plugin-panel.php:1311
150
+ #: includes/class-yit-plugin-panel.php:1312
151
  msgid "Element updated correctly."
152
  msgstr "Το στοιχείο αναβαθμίστηκε επιτυχώς."
153
 
154
+ #: includes/class-yit-plugin-panel.php:1313
155
  msgid "Database imported correctly."
156
  msgstr "Επιτυχής εισαγωγή βάσης δεδομένων."
157
 
158
+ #: includes/class-yit-plugin-panel.php:1314
159
  msgid "An error has occurred during import. Please try again."
160
  msgstr "Παρουσιάστηκε σφάλμα κατά την εισαγωγή. Παρακαλώ προσπαθήστε ξανά."
161
 
162
+ #: includes/class-yit-plugin-panel.php:1315
163
  msgid "The added file is not valid."
164
  msgstr "Το προστιθέμενο αρχείο δεν είναι έγκυρο."
165
 
166
+ #: includes/class-yit-plugin-panel.php:1316
167
  msgid "Sorry, import is disabled."
168
  msgstr "Συγνώμη, η εισαγωγή είναι απενεργοποιημένη."
169
 
170
+ #: includes/class-yit-plugin-panel.php:1317
171
  msgid "Sorting successful."
172
  msgstr "Διαλογή επιτυχής."
173
 
174
+ #: includes/class-yit-plugin-panel.php:1806
175
  msgid "We need your support"
176
  msgstr "Χρειαζόμαστε την υποστήριξή σας"
177
 
178
+ #: includes/class-yit-plugin-panel.php:1807
179
  msgid "to keep updating and improving the plugin. Please,"
180
  msgstr ""
181
  "για να διατηρήσετε την ενημέρωση και τη βελτίωση του πρόσθετου. Παρακαλώ,"
182
 
183
+ #: includes/class-yit-plugin-panel.php:1809
184
  msgid "help us by leaving a good review"
185
  msgstr ""
186
 
187
+ #: includes/class-yit-plugin-panel.php:1810
188
  msgid ":) Thanks!"
189
  msgstr ":) Ευχαριστώ!"
190
 
552
  msgid "Reset"
553
  msgstr "Επαναφορά"
554
 
555
+ #. translators: %s is the plugin version.
556
+ #: templates/panel/welcome-modals/update.php:34
557
+ msgid "is successfully updated to version %s."
558
+ msgstr ""
559
+
560
+ #. translators: %s is the plugin version.
561
+ #: templates/panel/welcome-modals/update.php:44
562
+ msgid "What's new in version %s"
563
+ msgstr ""
564
+
565
+ #: templates/panel/welcome-modals/update.php:49
566
+ msgid "Check the changelog >"
567
+ msgstr ""
568
+
569
+ #: templates/panel/welcome-modals/update.php:64
570
+ #: templates/panel/welcome-modals/welcome.php:60
571
+ msgid "Got it, close this window"
572
+ msgstr ""
573
+
574
+ #: templates/panel/welcome-modals/welcome.php:30
575
+ msgid "Thank you for using our plugin"
576
+ msgstr ""
577
+
578
+ #. translators: %s is the number of steps.
579
+ #: templates/panel/welcome-modals/welcome.php:45
580
+ msgid "Start with these %s steps:"
581
+ msgstr ""
582
+
583
  #: templates/panel/woocommerce/woocommerce-form.php:29
584
  #: templates/panel/woocommerce/woocommerce-form.php:33
585
  msgid "Save Options"
760
  msgid "YITH"
761
  msgstr "YITH"
762
 
763
+ #: includes/class-yit-assets.php:136
764
  msgctxt "Button text"
765
  msgid "Confirm"
766
  msgstr ""
767
 
768
+ #: includes/class-yit-assets.php:137
769
  msgctxt "Button text"
770
  msgid "Cancel"
771
  msgstr ""
772
 
773
+ #: includes/class-yit-assets.php:150 yit-functions.php:2009
774
  msgctxt "Trash confirmation action"
775
  msgid "Yes, move to trash"
776
  msgstr ""
777
 
778
+ #: includes/class-yit-assets.php:154 yit-functions.php:2027
779
  #: yit-functions.php:2154
780
  msgctxt "Delete confirmation action"
781
  msgid "Yes, delete"
782
  msgstr ""
783
 
784
  #. translators: 1. Plugin name.
785
+ #: includes/class-yit-plugin-panel.php:804
786
  msgctxt "Help tab default title"
787
  msgid "Thank you for purchasing %s!"
788
  msgstr ""
789
 
790
+ #: includes/class-yit-plugin-panel.php:804
791
  msgctxt "Help tab default title"
792
  msgid "Thank you for using %s!"
793
  msgstr ""
794
 
795
+ #: includes/class-yit-plugin-panel.php:812
796
  msgctxt "Help tab default description"
797
  msgid ""
798
  "We want to help you enjoy a wonderful experience with all of our products."
799
  msgstr ""
800
 
801
+ #: includes/class-yit-plugin-panel.php:863
802
  msgctxt "Premium tab name"
803
  msgid "Get premium"
804
  msgstr ""
805
 
806
+ #: includes/class-yit-plugin-panel.php:875
807
  msgctxt "Help tab name"
808
  msgid "Help"
809
  msgstr ""
plugin-fw/languages/yith-plugin-fw-es_ES.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-es_ES.po CHANGED
@@ -4,8 +4,8 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
8
- "PO-Revision-Date: 2022-07-06 06:44:36+0000\n"
9
  "Language: es\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -13,57 +13,57 @@ msgstr ""
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
- #: includes/class-yit-assets.php:146 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "Confirmar el traslado a la papelera"
19
 
20
- #: includes/class-yit-assets.php:147
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr ""
23
  "¿Estás seguro de que quieres mover a la papelera los elementos seleccionados?"
24
 
25
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
26
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
27
  #: yit-functions.php:2008 yit-functions.php:2026
28
  msgid "No"
29
  msgstr "No"
30
 
31
- #: includes/class-yit-assets.php:150 yit-functions.php:2024
32
  #: yit-functions.php:2152
33
  msgid "Confirm delete"
34
  msgstr "Confirmar el borrado"
35
 
36
- #: includes/class-yit-assets.php:151
37
  msgid "Are you sure you want to delete the selected items?"
38
  msgstr "¿Estás seguro de que quieres borrar los elementos seleccionados?"
39
 
40
- #: includes/class-yit-assets.php:151 yit-functions.php:1940
41
  #: yit-functions.php:2100
42
  msgid ""
43
  "This action cannot be undone and you will not be able to recover this data."
44
  msgstr "Esta acción no se puede revertir y no podrá recuperar estos datos."
45
 
46
- #: includes/class-yit-assets.php:172
47
  msgid "Clear"
48
  msgstr "Borrar"
49
 
50
- #: includes/class-yit-assets.php:173
51
  msgid "Clear color"
52
  msgstr "Borrar color"
53
 
54
- #: includes/class-yit-assets.php:174
55
  msgid "Default"
56
  msgstr "Predeterminado"
57
 
58
- #: includes/class-yit-assets.php:175
59
  msgid "Select default color"
60
  msgstr "Seleccionar color predeterminado"
61
 
62
- #: includes/class-yit-assets.php:176
63
  msgid "Select Color"
64
  msgstr "Seleccionar color"
65
 
66
- #: includes/class-yit-assets.php:177
67
  msgid "Color value"
68
  msgstr "Valor del color"
69
 
@@ -72,7 +72,7 @@ msgid "There was an error with your request; please try again later."
72
  msgstr ""
73
  "Se ha producido un error en tu solicitud; inténtalo de nuevo más tarde."
74
 
75
- #: includes/class-yit-plugin-panel-woocommerce.php:430
76
  msgid "The changes you have made will be lost if you leave this page."
77
  msgstr "Los cambios que has hecho se perderán si abandonas esta página."
78
 
@@ -84,17 +84,17 @@ msgstr "Ajustes del plugin"
84
  msgid "Settings"
85
  msgstr "Ajustes"
86
 
87
- #: includes/class-yit-plugin-panel.php:455
88
- #: includes/class-yit-plugin-panel.php:458
89
  msgid "How to install premium version"
90
  msgstr "Cómo instalar la versión premium"
91
 
92
- #: includes/class-yit-plugin-panel.php:655
93
  #: includes/class-yit-plugin-subpanel.php:133
94
  msgid "Save Changes"
95
  msgstr "Guardar cambios"
96
 
97
- #: includes/class-yit-plugin-panel.php:663
98
  #: includes/class-yit-plugin-subpanel.php:140
99
  #: templates/panel/woocommerce/woocommerce-form.php:15
100
  msgid ""
@@ -103,74 +103,90 @@ msgstr ""
103
  "Si continúas con esta acción, restablecerás todas las opciones en esta "
104
  "página."
105
 
106
- #: includes/class-yit-plugin-panel.php:663
107
  #: includes/class-yit-plugin-subpanel.php:140
108
  #: templates/panel/woocommerce/woocommerce-form.php:15
109
  msgid "Are you sure?"
110
  msgstr "¿Estás seguro?"
111
 
112
- #: includes/class-yit-plugin-panel.php:667
113
  #: includes/class-yit-plugin-subpanel.php:143
114
  msgid "Reset to default"
115
  msgstr "Restablecer valores predeterminados"
116
 
117
- #: includes/class-yit-plugin-panel.php:1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  msgid ""
119
  "The element you have entered already exists. Please, enter another name."
120
  msgstr ""
121
  "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
122
 
123
- #: includes/class-yit-plugin-panel.php:1075
124
  msgid "Settings saved"
125
  msgstr "Ajustes guardados"
126
 
127
- #: includes/class-yit-plugin-panel.php:1076
128
  msgid "Settings reset"
129
  msgstr "Restablecer ajustes"
130
 
131
- #: includes/class-yit-plugin-panel.php:1077
132
  msgid "Element deleted correctly."
133
  msgstr "Elemento eliminado correctamente."
134
 
135
- #: includes/class-yit-plugin-panel.php:1078
136
- #: includes/class-yit-plugin-panel.php:1079
137
  msgid "Element updated correctly."
138
  msgstr "Elemento actualizado correctamente."
139
 
140
- #: includes/class-yit-plugin-panel.php:1080
141
  msgid "Database imported correctly."
142
  msgstr "Base de datos importada correctamente."
143
 
144
- #: includes/class-yit-plugin-panel.php:1081
145
  msgid "An error has occurred during import. Please try again."
146
  msgstr ""
147
  "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
148
 
149
- #: includes/class-yit-plugin-panel.php:1082
150
  msgid "The added file is not valid."
151
  msgstr "El archivo añadido no es válido."
152
 
153
- #: includes/class-yit-plugin-panel.php:1083
154
  msgid "Sorry, import is disabled."
155
  msgstr "Lo siento, la importación está desactivada."
156
 
157
- #: includes/class-yit-plugin-panel.php:1084
158
  msgid "Sorting successful."
159
  msgstr "Clasificación realizada con éxito"
160
 
161
- #: includes/class-yit-plugin-panel.php:1573
162
  msgid "We need your support"
163
  msgstr "Necesitamos tu apoyo"
164
 
165
- #: includes/class-yit-plugin-panel.php:1574
166
  msgid "to keep updating and improving the plugin. Please,"
167
  msgstr "para que podamos seguir actualizando y mejorando el plugin. Por favor,"
168
 
169
- #: includes/class-yit-plugin-panel.php:1576
170
  msgid "help us by leaving a good review"
171
  msgstr "ayúdanos dejando una buena valoración"
172
 
173
- #: includes/class-yit-plugin-panel.php:1577
174
  msgid ":) Thanks!"
175
  msgstr ":) ¡Gracias!"
176
 
@@ -213,7 +229,7 @@ msgstr ""
213
 
214
  #: includes/class-yith-bh-onboarding.php:85
215
  msgid "It is not possible save the options"
216
- msgstr ""
217
 
218
  #: includes/class-yith-dashboard.php:35
219
  msgid "YITH Latest Updates"
@@ -416,7 +432,7 @@ msgstr ""
416
 
417
  #: templates/bh-onboarding/onboarding-tabs.php:63
418
  msgid "Save"
419
- msgstr ""
420
 
421
  #: templates/fields/ajax-customers.php:41
422
  msgid "Search for a customer..."
@@ -545,6 +561,34 @@ msgstr "Subir"
545
  msgid "Reset"
546
  msgstr "Restablecer"
547
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
548
  #: templates/panel/woocommerce/woocommerce-form.php:29
549
  #: templates/panel/woocommerce/woocommerce-form.php:33
550
  msgid "Save Options"
@@ -728,40 +772,39 @@ msgctxt "[gutenberg]: Category Name"
728
  msgid "YITH"
729
  msgstr "YITH"
730
 
731
- #: includes/class-yit-assets.php:134
732
  msgctxt "Button text"
733
  msgid "Confirm"
734
  msgstr "Confirmar"
735
 
736
- #: includes/class-yit-assets.php:135
737
  msgctxt "Button text"
738
  msgid "Cancel"
739
  msgstr "Cancelar"
740
 
741
- #: includes/class-yit-assets.php:148 yit-functions.php:2009
742
  msgctxt "Trash confirmation action"
743
  msgid "Yes, move to trash"
744
  msgstr "Sí, mover a la papelera"
745
 
746
- #: includes/class-yit-assets.php:152 yit-functions.php:2027
747
  #: yit-functions.php:2154
748
  msgctxt "Delete confirmation action"
749
  msgid "Yes, delete"
750
  msgstr "Si, borrar"
751
 
752
  #. translators: 1. Plugin name.
753
- #: includes/class-yit-plugin-panel.php:803
754
  msgctxt "Help tab default title"
755
  msgid "Thank you for purchasing %s!"
756
  msgstr "¡Gracias por comprar %s!"
757
 
758
- #: includes/class-yit-plugin-panel.php:803
759
- #, fuzzy
760
  msgctxt "Help tab default title"
761
  msgid "Thank you for using %s!"
762
- msgstr "¡Gracias por comprar %s!"
763
 
764
- #: includes/class-yit-plugin-panel.php:815
765
  msgctxt "Help tab default description"
766
  msgid ""
767
  "We want to help you enjoy a wonderful experience with all of our products."
@@ -769,12 +812,12 @@ msgstr ""
769
  "Queremos ayudarte a disfrutar de una experiencia maravillosa con todos "
770
  "nuestros productos."
771
 
772
- #: includes/class-yit-plugin-panel.php:866
773
  msgctxt "Premium tab name"
774
  msgid "Get premium"
775
  msgstr "Obtén premium"
776
 
777
- #: includes/class-yit-plugin-panel.php:878
778
  msgctxt "Help tab name"
779
  msgid "Help"
780
  msgstr "Ayuda"
@@ -969,19 +1012,16 @@ msgstr "Enviar ticket"
969
 
970
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
971
  #: templates/panel/help-tab.php:223
972
- #, fuzzy
973
  msgctxt "Help tab documentation"
974
  msgid "Read the plugin documentation"
975
- msgstr "Lee la documentación"
976
 
977
  #: templates/panel/help-tab.php:220
978
- #, fuzzy
979
  msgctxt "Help tab documentation"
980
  msgid "to learn how it works from the basics."
981
- msgstr "para aprender cómo funciona el plugin desde lo más básico."
982
 
983
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
984
- #, fuzzy
985
  msgctxt "Help tab support"
986
  msgid "Need some help?"
987
  msgstr "¿Necesitas ayuda?"
@@ -989,7 +1029,7 @@ msgstr "¿Necesitas ayuda?"
989
  #: templates/panel/help-tab.php:235
990
  msgctxt "Help tab support"
991
  msgid "From DIY to full-service help"
992
- msgstr ""
993
 
994
  #: templates/panel/help-tab.php:238
995
  msgctxt "Help tab support"
@@ -997,12 +1037,13 @@ msgid ""
997
  "Call or chat 24/7 with our support agents, or let our experts build your "
998
  "site."
999
  msgstr ""
 
 
1000
 
1001
  #: templates/panel/help-tab.php:241
1002
- #, fuzzy
1003
  msgctxt "Help tab support"
1004
  msgid "Yes, I need help"
1005
- msgstr "¿Necesitas ayuda?"
1006
 
1007
  #: templates/panel/premium-tab.php:30
1008
  msgctxt "Premium Tab"
@@ -1026,10 +1067,9 @@ msgid "And so much more!"
1026
  msgstr "¡Y mucho más!"
1027
 
1028
  #: templates/panel/premium-tab.php:53
1029
- #, fuzzy
1030
  msgctxt "Premium Tab"
1031
  msgid "Check the premium features >"
1032
- msgstr "Comprueba las características gratuitas frente a las premium >"
1033
 
1034
  #: templates/panel/premium-tab.php:60
1035
  msgctxt "Premium Tab"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2022-08-10 12:46:35+00:00\n"
8
+ "PO-Revision-Date: 2022-08-10 11:52:30+0000\n"
9
  "Language: es\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
+ #: includes/class-yit-assets.php:148 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "Confirmar el traslado a la papelera"
19
 
20
+ #: includes/class-yit-assets.php:149
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr ""
23
  "¿Estás seguro de que quieres mover a la papelera los elementos seleccionados?"
24
 
25
+ #: includes/class-yit-assets.php:151 includes/class-yit-assets.php:155
26
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
27
  #: yit-functions.php:2008 yit-functions.php:2026
28
  msgid "No"
29
  msgstr "No"
30
 
31
+ #: includes/class-yit-assets.php:152 yit-functions.php:2024
32
  #: yit-functions.php:2152
33
  msgid "Confirm delete"
34
  msgstr "Confirmar el borrado"
35
 
36
+ #: includes/class-yit-assets.php:153
37
  msgid "Are you sure you want to delete the selected items?"
38
  msgstr "¿Estás seguro de que quieres borrar los elementos seleccionados?"
39
 
40
+ #: includes/class-yit-assets.php:153 yit-functions.php:1940
41
  #: yit-functions.php:2100
42
  msgid ""
43
  "This action cannot be undone and you will not be able to recover this data."
44
  msgstr "Esta acción no se puede revertir y no podrá recuperar estos datos."
45
 
46
+ #: includes/class-yit-assets.php:174
47
  msgid "Clear"
48
  msgstr "Borrar"
49
 
50
+ #: includes/class-yit-assets.php:175
51
  msgid "Clear color"
52
  msgstr "Borrar color"
53
 
54
+ #: includes/class-yit-assets.php:176
55
  msgid "Default"
56
  msgstr "Predeterminado"
57
 
58
+ #: includes/class-yit-assets.php:177
59
  msgid "Select default color"
60
  msgstr "Seleccionar color predeterminado"
61
 
62
+ #: includes/class-yit-assets.php:178
63
  msgid "Select Color"
64
  msgstr "Seleccionar color"
65
 
66
+ #: includes/class-yit-assets.php:179
67
  msgid "Color value"
68
  msgstr "Valor del color"
69
 
72
  msgstr ""
73
  "Se ha producido un error en tu solicitud; inténtalo de nuevo más tarde."
74
 
75
+ #: includes/class-yit-plugin-panel-woocommerce.php:437
76
  msgid "The changes you have made will be lost if you leave this page."
77
  msgstr "Los cambios que has hecho se perderán si abandonas esta página."
78
 
84
  msgid "Settings"
85
  msgstr "Ajustes"
86
 
87
+ #: includes/class-yit-plugin-panel.php:456
88
+ #: includes/class-yit-plugin-panel.php:459
89
  msgid "How to install premium version"
90
  msgstr "Cómo instalar la versión premium"
91
 
92
+ #: includes/class-yit-plugin-panel.php:656
93
  #: includes/class-yit-plugin-subpanel.php:133
94
  msgid "Save Changes"
95
  msgstr "Guardar cambios"
96
 
97
+ #: includes/class-yit-plugin-panel.php:664
98
  #: includes/class-yit-plugin-subpanel.php:140
99
  #: templates/panel/woocommerce/woocommerce-form.php:15
100
  msgid ""
103
  "Si continúas con esta acción, restablecerás todas las opciones en esta "
104
  "página."
105
 
106
+ #: includes/class-yit-plugin-panel.php:664
107
  #: includes/class-yit-plugin-subpanel.php:140
108
  #: templates/panel/woocommerce/woocommerce-form.php:15
109
  msgid "Are you sure?"
110
  msgstr "¿Estás seguro?"
111
 
112
+ #: includes/class-yit-plugin-panel.php:668
113
  #: includes/class-yit-plugin-subpanel.php:143
114
  msgid "Reset to default"
115
  msgstr "Restablecer valores predeterminados"
116
 
117
+ #: includes/class-yit-plugin-panel.php:1039
118
+ msgid "Read the <mark>plugin documentation</mark>"
119
+ msgstr "Lee la <mark>documentación del plugin</mark>"
120
+
121
+ #: includes/class-yit-plugin-panel.php:1040
122
+ msgid "Learn what you can really do with this powerful tool"
123
+ msgstr "Aprende lo que realmente puedes hacer con esta potente herramienta"
124
+
125
+ #: includes/class-yit-plugin-panel.php:1050
126
+ msgid "Watch our <mark>\"First Steps\" video</mark>"
127
+ msgstr "Mira nuestro <mark>vídeo de «primeros pasos»</mark>"
128
+
129
+ #: includes/class-yit-plugin-panel.php:1051
130
+ msgid "See how it works before you start using it"
131
+ msgstr "Ve cómo funciona antes de empezar a usarlo"
132
+
133
+ #: includes/class-yit-plugin-panel.php:1307
134
  msgid ""
135
  "The element you have entered already exists. Please, enter another name."
136
  msgstr ""
137
  "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
138
 
139
+ #: includes/class-yit-plugin-panel.php:1308
140
  msgid "Settings saved"
141
  msgstr "Ajustes guardados"
142
 
143
+ #: includes/class-yit-plugin-panel.php:1309
144
  msgid "Settings reset"
145
  msgstr "Restablecer ajustes"
146
 
147
+ #: includes/class-yit-plugin-panel.php:1310
148
  msgid "Element deleted correctly."
149
  msgstr "Elemento eliminado correctamente."
150
 
151
+ #: includes/class-yit-plugin-panel.php:1311
152
+ #: includes/class-yit-plugin-panel.php:1312
153
  msgid "Element updated correctly."
154
  msgstr "Elemento actualizado correctamente."
155
 
156
+ #: includes/class-yit-plugin-panel.php:1313
157
  msgid "Database imported correctly."
158
  msgstr "Base de datos importada correctamente."
159
 
160
+ #: includes/class-yit-plugin-panel.php:1314
161
  msgid "An error has occurred during import. Please try again."
162
  msgstr ""
163
  "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
164
 
165
+ #: includes/class-yit-plugin-panel.php:1315
166
  msgid "The added file is not valid."
167
  msgstr "El archivo añadido no es válido."
168
 
169
+ #: includes/class-yit-plugin-panel.php:1316
170
  msgid "Sorry, import is disabled."
171
  msgstr "Lo siento, la importación está desactivada."
172
 
173
+ #: includes/class-yit-plugin-panel.php:1317
174
  msgid "Sorting successful."
175
  msgstr "Clasificación realizada con éxito"
176
 
177
+ #: includes/class-yit-plugin-panel.php:1806
178
  msgid "We need your support"
179
  msgstr "Necesitamos tu apoyo"
180
 
181
+ #: includes/class-yit-plugin-panel.php:1807
182
  msgid "to keep updating and improving the plugin. Please,"
183
  msgstr "para que podamos seguir actualizando y mejorando el plugin. Por favor,"
184
 
185
+ #: includes/class-yit-plugin-panel.php:1809
186
  msgid "help us by leaving a good review"
187
  msgstr "ayúdanos dejando una buena valoración"
188
 
189
+ #: includes/class-yit-plugin-panel.php:1810
190
  msgid ":) Thanks!"
191
  msgstr ":) ¡Gracias!"
192
 
229
 
230
  #: includes/class-yith-bh-onboarding.php:85
231
  msgid "It is not possible save the options"
232
+ msgstr "No es posible guardar las opciones"
233
 
234
  #: includes/class-yith-dashboard.php:35
235
  msgid "YITH Latest Updates"
432
 
433
  #: templates/bh-onboarding/onboarding-tabs.php:63
434
  msgid "Save"
435
+ msgstr "Guardar"
436
 
437
  #: templates/fields/ajax-customers.php:41
438
  msgid "Search for a customer..."
561
  msgid "Reset"
562
  msgstr "Restablecer"
563
 
564
+ #. translators: %s is the plugin version.
565
+ #: templates/panel/welcome-modals/update.php:34
566
+ msgid "is successfully updated to version %s."
567
+ msgstr "ha sido actualizado correctamente a la versión %s."
568
+
569
+ #. translators: %s is the plugin version.
570
+ #: templates/panel/welcome-modals/update.php:44
571
+ msgid "What's new in version %s"
572
+ msgstr "Novedades de la versión %s"
573
+
574
+ #: templates/panel/welcome-modals/update.php:49
575
+ msgid "Check the changelog >"
576
+ msgstr "Comprueba el registro de cambios >"
577
+
578
+ #: templates/panel/welcome-modals/update.php:64
579
+ #: templates/panel/welcome-modals/welcome.php:60
580
+ msgid "Got it, close this window"
581
+ msgstr "Entendido, cerrar esta ventana"
582
+
583
+ #: templates/panel/welcome-modals/welcome.php:30
584
+ msgid "Thank you for using our plugin"
585
+ msgstr "Gracias por usar nuestro plugin"
586
+
587
+ #. translators: %s is the number of steps.
588
+ #: templates/panel/welcome-modals/welcome.php:45
589
+ msgid "Start with these %s steps:"
590
+ msgstr "Comienza con estos %s pasos:"
591
+
592
  #: templates/panel/woocommerce/woocommerce-form.php:29
593
  #: templates/panel/woocommerce/woocommerce-form.php:33
594
  msgid "Save Options"
772
  msgid "YITH"
773
  msgstr "YITH"
774
 
775
+ #: includes/class-yit-assets.php:136
776
  msgctxt "Button text"
777
  msgid "Confirm"
778
  msgstr "Confirmar"
779
 
780
+ #: includes/class-yit-assets.php:137
781
  msgctxt "Button text"
782
  msgid "Cancel"
783
  msgstr "Cancelar"
784
 
785
+ #: includes/class-yit-assets.php:150 yit-functions.php:2009
786
  msgctxt "Trash confirmation action"
787
  msgid "Yes, move to trash"
788
  msgstr "Sí, mover a la papelera"
789
 
790
+ #: includes/class-yit-assets.php:154 yit-functions.php:2027
791
  #: yit-functions.php:2154
792
  msgctxt "Delete confirmation action"
793
  msgid "Yes, delete"
794
  msgstr "Si, borrar"
795
 
796
  #. translators: 1. Plugin name.
797
+ #: includes/class-yit-plugin-panel.php:804
798
  msgctxt "Help tab default title"
799
  msgid "Thank you for purchasing %s!"
800
  msgstr "¡Gracias por comprar %s!"
801
 
802
+ #: includes/class-yit-plugin-panel.php:804
 
803
  msgctxt "Help tab default title"
804
  msgid "Thank you for using %s!"
805
+ msgstr "¡Gracias por usar %s!"
806
 
807
+ #: includes/class-yit-plugin-panel.php:812
808
  msgctxt "Help tab default description"
809
  msgid ""
810
  "We want to help you enjoy a wonderful experience with all of our products."
812
  "Queremos ayudarte a disfrutar de una experiencia maravillosa con todos "
813
  "nuestros productos."
814
 
815
+ #: includes/class-yit-plugin-panel.php:863
816
  msgctxt "Premium tab name"
817
  msgid "Get premium"
818
  msgstr "Obtén premium"
819
 
820
+ #: includes/class-yit-plugin-panel.php:875
821
  msgctxt "Help tab name"
822
  msgid "Help"
823
  msgstr "Ayuda"
1012
 
1013
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
1014
  #: templates/panel/help-tab.php:223
 
1015
  msgctxt "Help tab documentation"
1016
  msgid "Read the plugin documentation"
1017
+ msgstr "Lee la documentación del plugin"
1018
 
1019
  #: templates/panel/help-tab.php:220
 
1020
  msgctxt "Help tab documentation"
1021
  msgid "to learn how it works from the basics."
1022
+ msgstr "para aprender cómo funciona desde lo más básico."
1023
 
1024
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
 
1025
  msgctxt "Help tab support"
1026
  msgid "Need some help?"
1027
  msgstr "¿Necesitas ayuda?"
1029
  #: templates/panel/help-tab.php:235
1030
  msgctxt "Help tab support"
1031
  msgid "From DIY to full-service help"
1032
+ msgstr "Ayuda desde «hazlo tu mismo» hasta un servicio completo"
1033
 
1034
  #: templates/panel/help-tab.php:238
1035
  msgctxt "Help tab support"
1037
  "Call or chat 24/7 with our support agents, or let our experts build your "
1038
  "site."
1039
  msgstr ""
1040
+ "Llama o chatee las 24 horas del día con nuestros agentes de soporte, o deja "
1041
+ "que nuestros expertos construyan tu sitio."
1042
 
1043
  #: templates/panel/help-tab.php:241
 
1044
  msgctxt "Help tab support"
1045
  msgid "Yes, I need help"
1046
+ msgstr "Sí, necesito ayuda"
1047
 
1048
  #: templates/panel/premium-tab.php:30
1049
  msgctxt "Premium Tab"
1067
  msgstr "¡Y mucho más!"
1068
 
1069
  #: templates/panel/premium-tab.php:53
 
1070
  msgctxt "Premium Tab"
1071
  msgid "Check the premium features >"
1072
+ msgstr "Comprueba las características premium >"
1073
 
1074
  #: templates/panel/premium-tab.php:60
1075
  msgctxt "Premium Tab"
plugin-fw/languages/yith-plugin-fw-it_IT.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-it_IT.po CHANGED
@@ -4,8 +4,8 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
8
- "PO-Revision-Date: 2022-07-06 07:17:32+0000\n"
9
  "Language: it\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -13,30 +13,30 @@ msgstr ""
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
- #: includes/class-yit-assets.php:146 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "Conferma eliminazione"
19
 
20
- #: includes/class-yit-assets.php:147
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr "Se sicuro di voler spostare nel cestino gli elementi selezionati?"
23
 
24
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
25
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
  #: yit-functions.php:2008 yit-functions.php:2026
27
  msgid "No"
28
  msgstr "No"
29
 
30
- #: includes/class-yit-assets.php:150 yit-functions.php:2024
31
  #: yit-functions.php:2152
32
  msgid "Confirm delete"
33
  msgstr "Conferma eliminazione"
34
 
35
- #: includes/class-yit-assets.php:151
36
  msgid "Are you sure you want to delete the selected items?"
37
  msgstr "Se sicuro di voler eliminare gli elementi selezionati?"
38
 
39
- #: includes/class-yit-assets.php:151 yit-functions.php:1940
40
  #: yit-functions.php:2100
41
  msgid ""
42
  "This action cannot be undone and you will not be able to recover this data."
@@ -44,27 +44,27 @@ msgstr ""
44
  "Quest'azione non può essere annullata e non sarà possibile recuperare questi "
45
  "dati."
46
 
47
- #: includes/class-yit-assets.php:172
48
  msgid "Clear"
49
  msgstr "Rimuovi"
50
 
51
- #: includes/class-yit-assets.php:173
52
  msgid "Clear color"
53
  msgstr "Rimuovi colore"
54
 
55
- #: includes/class-yit-assets.php:174
56
  msgid "Default"
57
  msgstr "Predefinito"
58
 
59
- #: includes/class-yit-assets.php:175
60
  msgid "Select default color"
61
  msgstr "Seleziona il colore predefinito"
62
 
63
- #: includes/class-yit-assets.php:176
64
  msgid "Select Color"
65
  msgstr "Seleziona il colore"
66
 
67
- #: includes/class-yit-assets.php:177
68
  msgid "Color value"
69
  msgstr "Valore del colore"
70
 
@@ -72,7 +72,7 @@ msgstr "Valore del colore"
72
  msgid "There was an error with your request; please try again later."
73
  msgstr "Si è verificato un errore con la tua richiesta. Riprova più tardi."
74
 
75
- #: includes/class-yit-plugin-panel-woocommerce.php:430
76
  msgid "The changes you have made will be lost if you leave this page."
77
  msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
78
 
@@ -84,17 +84,17 @@ msgstr "Impostazioni plugin"
84
  msgid "Settings"
85
  msgstr "Impostazioni"
86
 
87
- #: includes/class-yit-plugin-panel.php:455
88
- #: includes/class-yit-plugin-panel.php:458
89
  msgid "How to install premium version"
90
  msgstr "Come installare la versione premium"
91
 
92
- #: includes/class-yit-plugin-panel.php:655
93
  #: includes/class-yit-plugin-subpanel.php:133
94
  msgid "Save Changes"
95
  msgstr "Salva modifiche"
96
 
97
- #: includes/class-yit-plugin-panel.php:663
98
  #: includes/class-yit-plugin-subpanel.php:140
99
  #: templates/panel/woocommerce/woocommerce-form.php:15
100
  msgid ""
@@ -103,72 +103,88 @@ msgstr ""
103
  "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
104
  "reimpostate."
105
 
106
- #: includes/class-yit-plugin-panel.php:663
107
  #: includes/class-yit-plugin-subpanel.php:140
108
  #: templates/panel/woocommerce/woocommerce-form.php:15
109
  msgid "Are you sure?"
110
  msgstr "Sei sicuro?"
111
 
112
- #: includes/class-yit-plugin-panel.php:667
113
  #: includes/class-yit-plugin-subpanel.php:143
114
  msgid "Reset to default"
115
  msgstr "Ripristina configurazione predefinita"
116
 
117
- #: includes/class-yit-plugin-panel.php:1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  msgid ""
119
  "The element you have entered already exists. Please, enter another name."
120
  msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
121
 
122
- #: includes/class-yit-plugin-panel.php:1075
123
  msgid "Settings saved"
124
  msgstr "Impostazioni salvate"
125
 
126
- #: includes/class-yit-plugin-panel.php:1076
127
  msgid "Settings reset"
128
  msgstr "Impostazioni azzerate"
129
 
130
- #: includes/class-yit-plugin-panel.php:1077
131
  msgid "Element deleted correctly."
132
  msgstr "Elemento rimosso correttamente."
133
 
134
- #: includes/class-yit-plugin-panel.php:1078
135
- #: includes/class-yit-plugin-panel.php:1079
136
  msgid "Element updated correctly."
137
  msgstr "Elemento aggiornato correttamente."
138
 
139
- #: includes/class-yit-plugin-panel.php:1080
140
  msgid "Database imported correctly."
141
  msgstr "Database importato correttamente."
142
 
143
- #: includes/class-yit-plugin-panel.php:1081
144
  msgid "An error has occurred during import. Please try again."
145
  msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
146
 
147
- #: includes/class-yit-plugin-panel.php:1082
148
  msgid "The added file is not valid."
149
  msgstr "Il file aggiunto non è valido."
150
 
151
- #: includes/class-yit-plugin-panel.php:1083
152
  msgid "Sorry, import is disabled."
153
  msgstr "Ci dispiace, l'importazione è disabilitata."
154
 
155
- #: includes/class-yit-plugin-panel.php:1084
156
  msgid "Sorting successful."
157
  msgstr "Ordinamento effettuato con successo."
158
 
159
- #: includes/class-yit-plugin-panel.php:1573
160
  msgid "We need your support"
161
  msgstr "Abbiamo bisogno del tuo sostegno"
162
 
163
- #: includes/class-yit-plugin-panel.php:1574
164
  msgid "to keep updating and improving the plugin. Please,"
165
  msgstr "per poter continuare ad aggiornare e migliorare il plugin."
166
 
167
- #: includes/class-yit-plugin-panel.php:1576
168
  msgid "help us by leaving a good review"
169
  msgstr "Puoi darci una mano lasciando una recensione positiva"
170
 
171
- #: includes/class-yit-plugin-panel.php:1577
172
  msgid ":) Thanks!"
173
  msgstr ":) Grazie!"
174
 
@@ -210,7 +226,7 @@ msgstr ""
210
 
211
  #: includes/class-yith-bh-onboarding.php:85
212
  msgid "It is not possible save the options"
213
- msgstr ""
214
 
215
  #: includes/class-yith-dashboard.php:35
216
  msgid "YITH Latest Updates"
@@ -414,7 +430,7 @@ msgstr ""
414
 
415
  #: templates/bh-onboarding/onboarding-tabs.php:63
416
  msgid "Save"
417
- msgstr ""
418
 
419
  #: templates/fields/ajax-customers.php:41
420
  msgid "Search for a customer..."
@@ -543,6 +559,34 @@ msgstr "Carica"
543
  msgid "Reset"
544
  msgstr "Ripristina"
545
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
546
  #: templates/panel/woocommerce/woocommerce-form.php:29
547
  #: templates/panel/woocommerce/woocommerce-form.php:33
548
  msgid "Save Options"
@@ -728,40 +772,39 @@ msgctxt "[gutenberg]: Category Name"
728
  msgid "YITH"
729
  msgstr "YITH"
730
 
731
- #: includes/class-yit-assets.php:134
732
  msgctxt "Button text"
733
  msgid "Confirm"
734
  msgstr "Conferma"
735
 
736
- #: includes/class-yit-assets.php:135
737
  msgctxt "Button text"
738
  msgid "Cancel"
739
  msgstr "Annulla"
740
 
741
- #: includes/class-yit-assets.php:148 yit-functions.php:2009
742
  msgctxt "Trash confirmation action"
743
  msgid "Yes, move to trash"
744
  msgstr "Sì, sposta nel cestino"
745
 
746
- #: includes/class-yit-assets.php:152 yit-functions.php:2027
747
  #: yit-functions.php:2154
748
  msgctxt "Delete confirmation action"
749
  msgid "Yes, delete"
750
  msgstr "Sì, elimina"
751
 
752
  #. translators: 1. Plugin name.
753
- #: includes/class-yit-plugin-panel.php:803
754
  msgctxt "Help tab default title"
755
  msgid "Thank you for purchasing %s!"
756
  msgstr "Grazie per aver acquistato %s!"
757
 
758
- #: includes/class-yit-plugin-panel.php:803
759
- #, fuzzy
760
  msgctxt "Help tab default title"
761
  msgid "Thank you for using %s!"
762
- msgstr "Grazie per aver acquistato %s!"
763
 
764
- #: includes/class-yit-plugin-panel.php:815
765
  msgctxt "Help tab default description"
766
  msgid ""
767
  "We want to help you enjoy a wonderful experience with all of our products."
@@ -769,12 +812,12 @@ msgstr ""
769
  "Vogliamo aiutarti ad avere un'esperienza fantastica con tutti i nostri "
770
  "prodotti."
771
 
772
- #: includes/class-yit-plugin-panel.php:866
773
  msgctxt "Premium tab name"
774
  msgid "Get premium"
775
  msgstr "Diventa premium"
776
 
777
- #: includes/class-yit-plugin-panel.php:878
778
  msgctxt "Help tab name"
779
  msgid "Help"
780
  msgstr "Help"
@@ -970,19 +1013,16 @@ msgstr "Invia un ticket"
970
 
971
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
972
  #: templates/panel/help-tab.php:223
973
- #, fuzzy
974
  msgctxt "Help tab documentation"
975
  msgid "Read the plugin documentation"
976
- msgstr "Consulta la documentazione"
977
 
978
  #: templates/panel/help-tab.php:220
979
- #, fuzzy
980
  msgctxt "Help tab documentation"
981
  msgid "to learn how it works from the basics."
982
- msgstr "per scoprire dalle basi come funziona il plugin."
983
 
984
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
985
- #, fuzzy
986
  msgctxt "Help tab support"
987
  msgid "Need some help?"
988
  msgstr "Ti serve aiuto?"
@@ -990,7 +1030,7 @@ msgstr "Ti serve aiuto?"
990
  #: templates/panel/help-tab.php:235
991
  msgctxt "Help tab support"
992
  msgid "From DIY to full-service help"
993
- msgstr ""
994
 
995
  #: templates/panel/help-tab.php:238
996
  msgctxt "Help tab support"
@@ -998,12 +1038,13 @@ msgid ""
998
  "Call or chat 24/7 with our support agents, or let our experts build your "
999
  "site."
1000
  msgstr ""
 
 
1001
 
1002
  #: templates/panel/help-tab.php:241
1003
- #, fuzzy
1004
  msgctxt "Help tab support"
1005
  msgid "Yes, I need help"
1006
- msgstr "Ti serve aiuto?"
1007
 
1008
  #: templates/panel/premium-tab.php:30
1009
  msgctxt "Premium Tab"
@@ -1027,10 +1068,9 @@ msgid "And so much more!"
1027
  msgstr "E molto altro!"
1028
 
1029
  #: templates/panel/premium-tab.php:53
1030
- #, fuzzy
1031
  msgctxt "Premium Tab"
1032
  msgid "Check the premium features >"
1033
- msgstr "Confronta le funzionalità gratuite e premium >"
1034
 
1035
  #: templates/panel/premium-tab.php:60
1036
  msgctxt "Premium Tab"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2022-08-10 12:46:35+00:00\n"
8
+ "PO-Revision-Date: 2022-08-10 12:35:50+0000\n"
9
  "Language: it\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
+ #: includes/class-yit-assets.php:148 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "Conferma eliminazione"
19
 
20
+ #: includes/class-yit-assets.php:149
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr "Se sicuro di voler spostare nel cestino gli elementi selezionati?"
23
 
24
+ #: includes/class-yit-assets.php:151 includes/class-yit-assets.php:155
25
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
  #: yit-functions.php:2008 yit-functions.php:2026
27
  msgid "No"
28
  msgstr "No"
29
 
30
+ #: includes/class-yit-assets.php:152 yit-functions.php:2024
31
  #: yit-functions.php:2152
32
  msgid "Confirm delete"
33
  msgstr "Conferma eliminazione"
34
 
35
+ #: includes/class-yit-assets.php:153
36
  msgid "Are you sure you want to delete the selected items?"
37
  msgstr "Se sicuro di voler eliminare gli elementi selezionati?"
38
 
39
+ #: includes/class-yit-assets.php:153 yit-functions.php:1940
40
  #: yit-functions.php:2100
41
  msgid ""
42
  "This action cannot be undone and you will not be able to recover this data."
44
  "Quest'azione non può essere annullata e non sarà possibile recuperare questi "
45
  "dati."
46
 
47
+ #: includes/class-yit-assets.php:174
48
  msgid "Clear"
49
  msgstr "Rimuovi"
50
 
51
+ #: includes/class-yit-assets.php:175
52
  msgid "Clear color"
53
  msgstr "Rimuovi colore"
54
 
55
+ #: includes/class-yit-assets.php:176
56
  msgid "Default"
57
  msgstr "Predefinito"
58
 
59
+ #: includes/class-yit-assets.php:177
60
  msgid "Select default color"
61
  msgstr "Seleziona il colore predefinito"
62
 
63
+ #: includes/class-yit-assets.php:178
64
  msgid "Select Color"
65
  msgstr "Seleziona il colore"
66
 
67
+ #: includes/class-yit-assets.php:179
68
  msgid "Color value"
69
  msgstr "Valore del colore"
70
 
72
  msgid "There was an error with your request; please try again later."
73
  msgstr "Si è verificato un errore con la tua richiesta. Riprova più tardi."
74
 
75
+ #: includes/class-yit-plugin-panel-woocommerce.php:437
76
  msgid "The changes you have made will be lost if you leave this page."
77
  msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
78
 
84
  msgid "Settings"
85
  msgstr "Impostazioni"
86
 
87
+ #: includes/class-yit-plugin-panel.php:456
88
+ #: includes/class-yit-plugin-panel.php:459
89
  msgid "How to install premium version"
90
  msgstr "Come installare la versione premium"
91
 
92
+ #: includes/class-yit-plugin-panel.php:656
93
  #: includes/class-yit-plugin-subpanel.php:133
94
  msgid "Save Changes"
95
  msgstr "Salva modifiche"
96
 
97
+ #: includes/class-yit-plugin-panel.php:664
98
  #: includes/class-yit-plugin-subpanel.php:140
99
  #: templates/panel/woocommerce/woocommerce-form.php:15
100
  msgid ""
103
  "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
104
  "reimpostate."
105
 
106
+ #: includes/class-yit-plugin-panel.php:664
107
  #: includes/class-yit-plugin-subpanel.php:140
108
  #: templates/panel/woocommerce/woocommerce-form.php:15
109
  msgid "Are you sure?"
110
  msgstr "Sei sicuro?"
111
 
112
+ #: includes/class-yit-plugin-panel.php:668
113
  #: includes/class-yit-plugin-subpanel.php:143
114
  msgid "Reset to default"
115
  msgstr "Ripristina configurazione predefinita"
116
 
117
+ #: includes/class-yit-plugin-panel.php:1039
118
+ msgid "Read the <mark>plugin documentation</mark>"
119
+ msgstr "Consulta la <mark>documentazione del plugin</mark>"
120
+
121
+ #: includes/class-yit-plugin-panel.php:1040
122
+ msgid "Learn what you can really do with this powerful tool"
123
+ msgstr "Scopri cosa puoi fare con questo potente strumento"
124
+
125
+ #: includes/class-yit-plugin-panel.php:1050
126
+ msgid "Watch our <mark>\"First Steps\" video</mark>"
127
+ msgstr "Guarda il nostro <mark>video \"Primi Step\" video</mark>"
128
+
129
+ #: includes/class-yit-plugin-panel.php:1051
130
+ msgid "See how it works before you start using it"
131
+ msgstr "Guarda come funziona prima di iniziare ad usarlo"
132
+
133
+ #: includes/class-yit-plugin-panel.php:1307
134
  msgid ""
135
  "The element you have entered already exists. Please, enter another name."
136
  msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
137
 
138
+ #: includes/class-yit-plugin-panel.php:1308
139
  msgid "Settings saved"
140
  msgstr "Impostazioni salvate"
141
 
142
+ #: includes/class-yit-plugin-panel.php:1309
143
  msgid "Settings reset"
144
  msgstr "Impostazioni azzerate"
145
 
146
+ #: includes/class-yit-plugin-panel.php:1310
147
  msgid "Element deleted correctly."
148
  msgstr "Elemento rimosso correttamente."
149
 
150
+ #: includes/class-yit-plugin-panel.php:1311
151
+ #: includes/class-yit-plugin-panel.php:1312
152
  msgid "Element updated correctly."
153
  msgstr "Elemento aggiornato correttamente."
154
 
155
+ #: includes/class-yit-plugin-panel.php:1313
156
  msgid "Database imported correctly."
157
  msgstr "Database importato correttamente."
158
 
159
+ #: includes/class-yit-plugin-panel.php:1314
160
  msgid "An error has occurred during import. Please try again."
161
  msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
162
 
163
+ #: includes/class-yit-plugin-panel.php:1315
164
  msgid "The added file is not valid."
165
  msgstr "Il file aggiunto non è valido."
166
 
167
+ #: includes/class-yit-plugin-panel.php:1316
168
  msgid "Sorry, import is disabled."
169
  msgstr "Ci dispiace, l'importazione è disabilitata."
170
 
171
+ #: includes/class-yit-plugin-panel.php:1317
172
  msgid "Sorting successful."
173
  msgstr "Ordinamento effettuato con successo."
174
 
175
+ #: includes/class-yit-plugin-panel.php:1806
176
  msgid "We need your support"
177
  msgstr "Abbiamo bisogno del tuo sostegno"
178
 
179
+ #: includes/class-yit-plugin-panel.php:1807
180
  msgid "to keep updating and improving the plugin. Please,"
181
  msgstr "per poter continuare ad aggiornare e migliorare il plugin."
182
 
183
+ #: includes/class-yit-plugin-panel.php:1809
184
  msgid "help us by leaving a good review"
185
  msgstr "Puoi darci una mano lasciando una recensione positiva"
186
 
187
+ #: includes/class-yit-plugin-panel.php:1810
188
  msgid ":) Thanks!"
189
  msgstr ":) Grazie!"
190
 
226
 
227
  #: includes/class-yith-bh-onboarding.php:85
228
  msgid "It is not possible save the options"
229
+ msgstr "Non è possibile salvare le opzioni"
230
 
231
  #: includes/class-yith-dashboard.php:35
232
  msgid "YITH Latest Updates"
430
 
431
  #: templates/bh-onboarding/onboarding-tabs.php:63
432
  msgid "Save"
433
+ msgstr "Salva"
434
 
435
  #: templates/fields/ajax-customers.php:41
436
  msgid "Search for a customer..."
559
  msgid "Reset"
560
  msgstr "Ripristina"
561
 
562
+ #. translators: %s is the plugin version.
563
+ #: templates/panel/welcome-modals/update.php:34
564
+ msgid "is successfully updated to version %s."
565
+ msgstr "è stato aggiornato alla versione %s."
566
+
567
+ #. translators: %s is the plugin version.
568
+ #: templates/panel/welcome-modals/update.php:44
569
+ msgid "What's new in version %s"
570
+ msgstr "Novità nella versione %s"
571
+
572
+ #: templates/panel/welcome-modals/update.php:49
573
+ msgid "Check the changelog >"
574
+ msgstr "Vedi tutte le modifiche >"
575
+
576
+ #: templates/panel/welcome-modals/update.php:64
577
+ #: templates/panel/welcome-modals/welcome.php:60
578
+ msgid "Got it, close this window"
579
+ msgstr "Ho capito, chiudi questa finestra"
580
+
581
+ #: templates/panel/welcome-modals/welcome.php:30
582
+ msgid "Thank you for using our plugin"
583
+ msgstr "Grazie per aver scelto di usare il nostro plugin"
584
+
585
+ #. translators: %s is the number of steps.
586
+ #: templates/panel/welcome-modals/welcome.php:45
587
+ msgid "Start with these %s steps:"
588
+ msgstr "Inizia da questi %s step:"
589
+
590
  #: templates/panel/woocommerce/woocommerce-form.php:29
591
  #: templates/panel/woocommerce/woocommerce-form.php:33
592
  msgid "Save Options"
772
  msgid "YITH"
773
  msgstr "YITH"
774
 
775
+ #: includes/class-yit-assets.php:136
776
  msgctxt "Button text"
777
  msgid "Confirm"
778
  msgstr "Conferma"
779
 
780
+ #: includes/class-yit-assets.php:137
781
  msgctxt "Button text"
782
  msgid "Cancel"
783
  msgstr "Annulla"
784
 
785
+ #: includes/class-yit-assets.php:150 yit-functions.php:2009
786
  msgctxt "Trash confirmation action"
787
  msgid "Yes, move to trash"
788
  msgstr "Sì, sposta nel cestino"
789
 
790
+ #: includes/class-yit-assets.php:154 yit-functions.php:2027
791
  #: yit-functions.php:2154
792
  msgctxt "Delete confirmation action"
793
  msgid "Yes, delete"
794
  msgstr "Sì, elimina"
795
 
796
  #. translators: 1. Plugin name.
797
+ #: includes/class-yit-plugin-panel.php:804
798
  msgctxt "Help tab default title"
799
  msgid "Thank you for purchasing %s!"
800
  msgstr "Grazie per aver acquistato %s!"
801
 
802
+ #: includes/class-yit-plugin-panel.php:804
 
803
  msgctxt "Help tab default title"
804
  msgid "Thank you for using %s!"
805
+ msgstr "Grazie per aver scelto %s!"
806
 
807
+ #: includes/class-yit-plugin-panel.php:812
808
  msgctxt "Help tab default description"
809
  msgid ""
810
  "We want to help you enjoy a wonderful experience with all of our products."
812
  "Vogliamo aiutarti ad avere un'esperienza fantastica con tutti i nostri "
813
  "prodotti."
814
 
815
+ #: includes/class-yit-plugin-panel.php:863
816
  msgctxt "Premium tab name"
817
  msgid "Get premium"
818
  msgstr "Diventa premium"
819
 
820
+ #: includes/class-yit-plugin-panel.php:875
821
  msgctxt "Help tab name"
822
  msgid "Help"
823
  msgstr "Help"
1013
 
1014
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
1015
  #: templates/panel/help-tab.php:223
 
1016
  msgctxt "Help tab documentation"
1017
  msgid "Read the plugin documentation"
1018
+ msgstr "Leggi la documentazione del plugin"
1019
 
1020
  #: templates/panel/help-tab.php:220
 
1021
  msgctxt "Help tab documentation"
1022
  msgid "to learn how it works from the basics."
1023
+ msgstr "per vedere come funziona nel dettaglio."
1024
 
1025
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
 
1026
  msgctxt "Help tab support"
1027
  msgid "Need some help?"
1028
  msgstr "Ti serve aiuto?"
1030
  #: templates/panel/help-tab.php:235
1031
  msgctxt "Help tab support"
1032
  msgid "From DIY to full-service help"
1033
+ msgstr "Dal fai-da-te a un servizio completo"
1034
 
1035
  #: templates/panel/help-tab.php:238
1036
  msgctxt "Help tab support"
1038
  "Call or chat 24/7 with our support agents, or let our experts build your "
1039
  "site."
1040
  msgstr ""
1041
+ "Chiamaci o avvia una chat con i nostri agenti disponibili 24/7 oppure "
1042
+ "lasciati aiutare dai nostri esperti a configurare il tuo sito."
1043
 
1044
  #: templates/panel/help-tab.php:241
 
1045
  msgctxt "Help tab support"
1046
  msgid "Yes, I need help"
1047
+ msgstr "Sì, mi serve aiuto"
1048
 
1049
  #: templates/panel/premium-tab.php:30
1050
  msgctxt "Premium Tab"
1068
  msgstr "E molto altro!"
1069
 
1070
  #: templates/panel/premium-tab.php:53
 
1071
  msgctxt "Premium Tab"
1072
  msgid "Check the premium features >"
1073
+ msgstr "Scopri le funzionalità premium >"
1074
 
1075
  #: templates/panel/premium-tab.php:60
1076
  msgctxt "Premium Tab"
plugin-fw/languages/yith-plugin-fw-nl_NL.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-nl_NL.po CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
8
  "PO-Revision-Date: 2021-12-13 12:45:02+0000\n"
9
  "Language: nl\n"
10
  "MIME-Version: 1.0\n"
@@ -13,32 +13,32 @@ msgstr ""
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
- #: includes/class-yit-assets.php:146 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "Verplaatsen naar prullenbak bevestigen"
19
 
20
- #: includes/class-yit-assets.php:147
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr ""
23
  "Weet je zeker dat je het geselecteerde item naar de prullenbak wilt "
24
  "verplaatsen?"
25
 
26
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
27
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
28
  #: yit-functions.php:2008 yit-functions.php:2026
29
  msgid "No"
30
  msgstr "Nee"
31
 
32
- #: includes/class-yit-assets.php:150 yit-functions.php:2024
33
  #: yit-functions.php:2152
34
  msgid "Confirm delete"
35
  msgstr "Verwijderen bevestigen"
36
 
37
- #: includes/class-yit-assets.php:151
38
  msgid "Are you sure you want to delete the selected items?"
39
  msgstr "Weet je zeker dat je de geselecteerde items wilt verwijderen?"
40
 
41
- #: includes/class-yit-assets.php:151 yit-functions.php:1940
42
  #: yit-functions.php:2100
43
  msgid ""
44
  "This action cannot be undone and you will not be able to recover this data."
@@ -46,27 +46,27 @@ msgstr ""
46
  "Deze actie kan niet ongedaan gemaakt worden en je zult deze gegevens niet "
47
  "kunnen herstellen."
48
 
49
- #: includes/class-yit-assets.php:172
50
  msgid "Clear"
51
  msgstr "Wissen"
52
 
53
- #: includes/class-yit-assets.php:173
54
  msgid "Clear color"
55
  msgstr "Kleur wissen"
56
 
57
- #: includes/class-yit-assets.php:174
58
  msgid "Default"
59
  msgstr "Standaard"
60
 
61
- #: includes/class-yit-assets.php:175
62
  msgid "Select default color"
63
  msgstr "Standaardkleur selecteren"
64
 
65
- #: includes/class-yit-assets.php:176
66
  msgid "Select Color"
67
  msgstr "Kleur selecteren"
68
 
69
- #: includes/class-yit-assets.php:177
70
  msgid "Color value"
71
  msgstr "Kleurwaarde"
72
 
@@ -75,7 +75,7 @@ msgid "There was an error with your request; please try again later."
75
  msgstr ""
76
  "Er is een fout opgetreden met je verzoek, probeer het later opnieuw a.u.b."
77
 
78
- #: includes/class-yit-plugin-panel-woocommerce.php:430
79
  msgid "The changes you have made will be lost if you leave this page."
80
  msgstr "Als je deze pagina verlaat zullen alle wijzigingen verloren gaan."
81
 
@@ -87,17 +87,17 @@ msgstr "Plugin instellingen"
87
  msgid "Settings"
88
  msgstr "Instellingen"
89
 
90
- #: includes/class-yit-plugin-panel.php:455
91
- #: includes/class-yit-plugin-panel.php:458
92
  msgid "How to install premium version"
93
  msgstr "Hoe installeer ik de premium versie"
94
 
95
- #: includes/class-yit-plugin-panel.php:655
96
  #: includes/class-yit-plugin-subpanel.php:133
97
  msgid "Save Changes"
98
  msgstr "Wijzigingen opslaan"
99
 
100
- #: includes/class-yit-plugin-panel.php:663
101
  #: includes/class-yit-plugin-subpanel.php:140
102
  #: templates/panel/woocommerce/woocommerce-form.php:15
103
  msgid ""
@@ -105,72 +105,88 @@ msgid ""
105
  msgstr ""
106
  "Als je doorgaat met deze actie, zal je alle opties op deze pagina resetten."
107
 
108
- #: includes/class-yit-plugin-panel.php:663
109
  #: includes/class-yit-plugin-subpanel.php:140
110
  #: templates/panel/woocommerce/woocommerce-form.php:15
111
  msgid "Are you sure?"
112
  msgstr "Weet je het zeker?"
113
 
114
- #: includes/class-yit-plugin-panel.php:667
115
  #: includes/class-yit-plugin-subpanel.php:143
116
  msgid "Reset to default"
117
  msgstr "Resetten naar standaard"
118
 
119
- #: includes/class-yit-plugin-panel.php:1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  msgid ""
121
  "The element you have entered already exists. Please, enter another name."
122
  msgstr "Het element dat je hebt ingevoerd bestaat al. Voer een andere naam in."
123
 
124
- #: includes/class-yit-plugin-panel.php:1075
125
  msgid "Settings saved"
126
  msgstr "Instellingen opgeslagen"
127
 
128
- #: includes/class-yit-plugin-panel.php:1076
129
  msgid "Settings reset"
130
  msgstr "Instellingen resetten"
131
 
132
- #: includes/class-yit-plugin-panel.php:1077
133
  msgid "Element deleted correctly."
134
  msgstr "Element juist verwijderd."
135
 
136
- #: includes/class-yit-plugin-panel.php:1078
137
- #: includes/class-yit-plugin-panel.php:1079
138
  msgid "Element updated correctly."
139
  msgstr "Element juist geüpdatet."
140
 
141
- #: includes/class-yit-plugin-panel.php:1080
142
  msgid "Database imported correctly."
143
  msgstr "Database juist geïmporteerd."
144
 
145
- #: includes/class-yit-plugin-panel.php:1081
146
  msgid "An error has occurred during import. Please try again."
147
  msgstr "Er is een fout opgetreden tijdens importeren. Probeer opnieuw."
148
 
149
- #: includes/class-yit-plugin-panel.php:1082
150
  msgid "The added file is not valid."
151
  msgstr "Het toegevoegde bestand is niet geldig."
152
 
153
- #: includes/class-yit-plugin-panel.php:1083
154
  msgid "Sorry, import is disabled."
155
  msgstr "Sorry, importeren is uitgeschakeld."
156
 
157
- #: includes/class-yit-plugin-panel.php:1084
158
  msgid "Sorting successful."
159
  msgstr "Succesvol gesorteerd."
160
 
161
- #: includes/class-yit-plugin-panel.php:1573
162
  msgid "We need your support"
163
  msgstr "We hebben je hulp nodig"
164
 
165
- #: includes/class-yit-plugin-panel.php:1574
166
  msgid "to keep updating and improving the plugin. Please,"
167
  msgstr "om de plugin te blijven bijwerken en verbeteren. A.u.b.,"
168
 
169
- #: includes/class-yit-plugin-panel.php:1576
170
  msgid "help us by leaving a good review"
171
  msgstr "help ons door een goede beoordeling achter te laten"
172
 
173
- #: includes/class-yit-plugin-panel.php:1577
174
  msgid ":) Thanks!"
175
  msgstr ":) Bedankt!"
176
 
@@ -544,6 +560,34 @@ msgstr "Upload"
544
  msgid "Reset"
545
  msgstr "Resetten"
546
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
547
  #: templates/panel/woocommerce/woocommerce-form.php:29
548
  #: templates/panel/woocommerce/woocommerce-form.php:33
549
  msgid "Save Options"
@@ -724,51 +768,50 @@ msgctxt "[gutenberg]: Category Name"
724
  msgid "YITH"
725
  msgstr "YITH"
726
 
727
- #: includes/class-yit-assets.php:134
728
  msgctxt "Button text"
729
  msgid "Confirm"
730
  msgstr "Bevestigen"
731
 
732
- #: includes/class-yit-assets.php:135
733
  msgctxt "Button text"
734
  msgid "Cancel"
735
  msgstr "Annuleren"
736
 
737
- #: includes/class-yit-assets.php:148 yit-functions.php:2009
738
  msgctxt "Trash confirmation action"
739
  msgid "Yes, move to trash"
740
  msgstr "Ja, verplaatsen naar prullenbak"
741
 
742
- #: includes/class-yit-assets.php:152 yit-functions.php:2027
743
  #: yit-functions.php:2154
744
  msgctxt "Delete confirmation action"
745
  msgid "Yes, delete"
746
  msgstr "Ja, verwijderen"
747
 
748
  #. translators: 1. Plugin name.
749
- #: includes/class-yit-plugin-panel.php:803
750
  msgctxt "Help tab default title"
751
  msgid "Thank you for purchasing %s!"
752
  msgstr "Bedankt voor het kopen van %s!"
753
 
754
- #: includes/class-yit-plugin-panel.php:803
755
- #, fuzzy
756
  msgctxt "Help tab default title"
757
  msgid "Thank you for using %s!"
758
- msgstr "Bedankt voor het kopen van %s!"
759
 
760
- #: includes/class-yit-plugin-panel.php:815
761
  msgctxt "Help tab default description"
762
  msgid ""
763
  "We want to help you enjoy a wonderful experience with all of our products."
764
  msgstr ""
765
 
766
- #: includes/class-yit-plugin-panel.php:866
767
  msgctxt "Premium tab name"
768
  msgid "Get premium"
769
  msgstr "Neem premium"
770
 
771
- #: includes/class-yit-plugin-panel.php:878
772
  msgctxt "Help tab name"
773
  msgid "Help"
774
  msgstr "Help"
@@ -960,10 +1003,9 @@ msgstr "Verstuur een ticket"
960
 
961
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
962
  #: templates/panel/help-tab.php:223
963
- #, fuzzy
964
  msgctxt "Help tab documentation"
965
  msgid "Read the plugin documentation"
966
- msgstr "Lees de documentatie"
967
 
968
  #: templates/panel/help-tab.php:220
969
  msgctxt "Help tab documentation"
@@ -971,10 +1013,9 @@ msgid "to learn how it works from the basics."
971
  msgstr ""
972
 
973
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
974
- #, fuzzy
975
  msgctxt "Help tab support"
976
  msgid "Need some help?"
977
- msgstr "Hulp nodig?"
978
 
979
  #: templates/panel/help-tab.php:235
980
  msgctxt "Help tab support"
@@ -989,10 +1030,9 @@ msgid ""
989
  msgstr ""
990
 
991
  #: templates/panel/help-tab.php:241
992
- #, fuzzy
993
  msgctxt "Help tab support"
994
  msgid "Yes, I need help"
995
- msgstr "Hulp nodig?"
996
 
997
  #: templates/panel/premium-tab.php:30
998
  msgctxt "Premium Tab"
@@ -1016,10 +1056,9 @@ msgid "And so much more!"
1016
  msgstr "En zo veel meer!"
1017
 
1018
  #: templates/panel/premium-tab.php:53
1019
- #, fuzzy
1020
  msgctxt "Premium Tab"
1021
  msgid "Check the premium features >"
1022
- msgstr "Bekijk de gratis vs premium opties >"
1023
 
1024
  #: templates/panel/premium-tab.php:60
1025
  msgctxt "Premium Tab"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2022-08-10 12:46:35+00:00\n"
8
  "PO-Revision-Date: 2021-12-13 12:45:02+0000\n"
9
  "Language: nl\n"
10
  "MIME-Version: 1.0\n"
13
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
+ #: includes/class-yit-assets.php:148 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "Verplaatsen naar prullenbak bevestigen"
19
 
20
+ #: includes/class-yit-assets.php:149
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr ""
23
  "Weet je zeker dat je het geselecteerde item naar de prullenbak wilt "
24
  "verplaatsen?"
25
 
26
+ #: includes/class-yit-assets.php:151 includes/class-yit-assets.php:155
27
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
28
  #: yit-functions.php:2008 yit-functions.php:2026
29
  msgid "No"
30
  msgstr "Nee"
31
 
32
+ #: includes/class-yit-assets.php:152 yit-functions.php:2024
33
  #: yit-functions.php:2152
34
  msgid "Confirm delete"
35
  msgstr "Verwijderen bevestigen"
36
 
37
+ #: includes/class-yit-assets.php:153
38
  msgid "Are you sure you want to delete the selected items?"
39
  msgstr "Weet je zeker dat je de geselecteerde items wilt verwijderen?"
40
 
41
+ #: includes/class-yit-assets.php:153 yit-functions.php:1940
42
  #: yit-functions.php:2100
43
  msgid ""
44
  "This action cannot be undone and you will not be able to recover this data."
46
  "Deze actie kan niet ongedaan gemaakt worden en je zult deze gegevens niet "
47
  "kunnen herstellen."
48
 
49
+ #: includes/class-yit-assets.php:174
50
  msgid "Clear"
51
  msgstr "Wissen"
52
 
53
+ #: includes/class-yit-assets.php:175
54
  msgid "Clear color"
55
  msgstr "Kleur wissen"
56
 
57
+ #: includes/class-yit-assets.php:176
58
  msgid "Default"
59
  msgstr "Standaard"
60
 
61
+ #: includes/class-yit-assets.php:177
62
  msgid "Select default color"
63
  msgstr "Standaardkleur selecteren"
64
 
65
+ #: includes/class-yit-assets.php:178
66
  msgid "Select Color"
67
  msgstr "Kleur selecteren"
68
 
69
+ #: includes/class-yit-assets.php:179
70
  msgid "Color value"
71
  msgstr "Kleurwaarde"
72
 
75
  msgstr ""
76
  "Er is een fout opgetreden met je verzoek, probeer het later opnieuw a.u.b."
77
 
78
+ #: includes/class-yit-plugin-panel-woocommerce.php:437
79
  msgid "The changes you have made will be lost if you leave this page."
80
  msgstr "Als je deze pagina verlaat zullen alle wijzigingen verloren gaan."
81
 
87
  msgid "Settings"
88
  msgstr "Instellingen"
89
 
90
+ #: includes/class-yit-plugin-panel.php:456
91
+ #: includes/class-yit-plugin-panel.php:459
92
  msgid "How to install premium version"
93
  msgstr "Hoe installeer ik de premium versie"
94
 
95
+ #: includes/class-yit-plugin-panel.php:656
96
  #: includes/class-yit-plugin-subpanel.php:133
97
  msgid "Save Changes"
98
  msgstr "Wijzigingen opslaan"
99
 
100
+ #: includes/class-yit-plugin-panel.php:664
101
  #: includes/class-yit-plugin-subpanel.php:140
102
  #: templates/panel/woocommerce/woocommerce-form.php:15
103
  msgid ""
105
  msgstr ""
106
  "Als je doorgaat met deze actie, zal je alle opties op deze pagina resetten."
107
 
108
+ #: includes/class-yit-plugin-panel.php:664
109
  #: includes/class-yit-plugin-subpanel.php:140
110
  #: templates/panel/woocommerce/woocommerce-form.php:15
111
  msgid "Are you sure?"
112
  msgstr "Weet je het zeker?"
113
 
114
+ #: includes/class-yit-plugin-panel.php:668
115
  #: includes/class-yit-plugin-subpanel.php:143
116
  msgid "Reset to default"
117
  msgstr "Resetten naar standaard"
118
 
119
+ #: includes/class-yit-plugin-panel.php:1039
120
+ msgid "Read the <mark>plugin documentation</mark>"
121
+ msgstr ""
122
+
123
+ #: includes/class-yit-plugin-panel.php:1040
124
+ msgid "Learn what you can really do with this powerful tool"
125
+ msgstr ""
126
+
127
+ #: includes/class-yit-plugin-panel.php:1050
128
+ msgid "Watch our <mark>\"First Steps\" video</mark>"
129
+ msgstr ""
130
+
131
+ #: includes/class-yit-plugin-panel.php:1051
132
+ msgid "See how it works before you start using it"
133
+ msgstr ""
134
+
135
+ #: includes/class-yit-plugin-panel.php:1307
136
  msgid ""
137
  "The element you have entered already exists. Please, enter another name."
138
  msgstr "Het element dat je hebt ingevoerd bestaat al. Voer een andere naam in."
139
 
140
+ #: includes/class-yit-plugin-panel.php:1308
141
  msgid "Settings saved"
142
  msgstr "Instellingen opgeslagen"
143
 
144
+ #: includes/class-yit-plugin-panel.php:1309
145
  msgid "Settings reset"
146
  msgstr "Instellingen resetten"
147
 
148
+ #: includes/class-yit-plugin-panel.php:1310
149
  msgid "Element deleted correctly."
150
  msgstr "Element juist verwijderd."
151
 
152
+ #: includes/class-yit-plugin-panel.php:1311
153
+ #: includes/class-yit-plugin-panel.php:1312
154
  msgid "Element updated correctly."
155
  msgstr "Element juist geüpdatet."
156
 
157
+ #: includes/class-yit-plugin-panel.php:1313
158
  msgid "Database imported correctly."
159
  msgstr "Database juist geïmporteerd."
160
 
161
+ #: includes/class-yit-plugin-panel.php:1314
162
  msgid "An error has occurred during import. Please try again."
163
  msgstr "Er is een fout opgetreden tijdens importeren. Probeer opnieuw."
164
 
165
+ #: includes/class-yit-plugin-panel.php:1315
166
  msgid "The added file is not valid."
167
  msgstr "Het toegevoegde bestand is niet geldig."
168
 
169
+ #: includes/class-yit-plugin-panel.php:1316
170
  msgid "Sorry, import is disabled."
171
  msgstr "Sorry, importeren is uitgeschakeld."
172
 
173
+ #: includes/class-yit-plugin-panel.php:1317
174
  msgid "Sorting successful."
175
  msgstr "Succesvol gesorteerd."
176
 
177
+ #: includes/class-yit-plugin-panel.php:1806
178
  msgid "We need your support"
179
  msgstr "We hebben je hulp nodig"
180
 
181
+ #: includes/class-yit-plugin-panel.php:1807
182
  msgid "to keep updating and improving the plugin. Please,"
183
  msgstr "om de plugin te blijven bijwerken en verbeteren. A.u.b.,"
184
 
185
+ #: includes/class-yit-plugin-panel.php:1809
186
  msgid "help us by leaving a good review"
187
  msgstr "help ons door een goede beoordeling achter te laten"
188
 
189
+ #: includes/class-yit-plugin-panel.php:1810
190
  msgid ":) Thanks!"
191
  msgstr ":) Bedankt!"
192
 
560
  msgid "Reset"
561
  msgstr "Resetten"
562
 
563
+ #. translators: %s is the plugin version.
564
+ #: templates/panel/welcome-modals/update.php:34
565
+ msgid "is successfully updated to version %s."
566
+ msgstr ""
567
+
568
+ #. translators: %s is the plugin version.
569
+ #: templates/panel/welcome-modals/update.php:44
570
+ msgid "What's new in version %s"
571
+ msgstr ""
572
+
573
+ #: templates/panel/welcome-modals/update.php:49
574
+ msgid "Check the changelog >"
575
+ msgstr ""
576
+
577
+ #: templates/panel/welcome-modals/update.php:64
578
+ #: templates/panel/welcome-modals/welcome.php:60
579
+ msgid "Got it, close this window"
580
+ msgstr ""
581
+
582
+ #: templates/panel/welcome-modals/welcome.php:30
583
+ msgid "Thank you for using our plugin"
584
+ msgstr ""
585
+
586
+ #. translators: %s is the number of steps.
587
+ #: templates/panel/welcome-modals/welcome.php:45
588
+ msgid "Start with these %s steps:"
589
+ msgstr ""
590
+
591
  #: templates/panel/woocommerce/woocommerce-form.php:29
592
  #: templates/panel/woocommerce/woocommerce-form.php:33
593
  msgid "Save Options"
768
  msgid "YITH"
769
  msgstr "YITH"
770
 
771
+ #: includes/class-yit-assets.php:136
772
  msgctxt "Button text"
773
  msgid "Confirm"
774
  msgstr "Bevestigen"
775
 
776
+ #: includes/class-yit-assets.php:137
777
  msgctxt "Button text"
778
  msgid "Cancel"
779
  msgstr "Annuleren"
780
 
781
+ #: includes/class-yit-assets.php:150 yit-functions.php:2009
782
  msgctxt "Trash confirmation action"
783
  msgid "Yes, move to trash"
784
  msgstr "Ja, verplaatsen naar prullenbak"
785
 
786
+ #: includes/class-yit-assets.php:154 yit-functions.php:2027
787
  #: yit-functions.php:2154
788
  msgctxt "Delete confirmation action"
789
  msgid "Yes, delete"
790
  msgstr "Ja, verwijderen"
791
 
792
  #. translators: 1. Plugin name.
793
+ #: includes/class-yit-plugin-panel.php:804
794
  msgctxt "Help tab default title"
795
  msgid "Thank you for purchasing %s!"
796
  msgstr "Bedankt voor het kopen van %s!"
797
 
798
+ #: includes/class-yit-plugin-panel.php:804
 
799
  msgctxt "Help tab default title"
800
  msgid "Thank you for using %s!"
801
+ msgstr ""
802
 
803
+ #: includes/class-yit-plugin-panel.php:812
804
  msgctxt "Help tab default description"
805
  msgid ""
806
  "We want to help you enjoy a wonderful experience with all of our products."
807
  msgstr ""
808
 
809
+ #: includes/class-yit-plugin-panel.php:863
810
  msgctxt "Premium tab name"
811
  msgid "Get premium"
812
  msgstr "Neem premium"
813
 
814
+ #: includes/class-yit-plugin-panel.php:875
815
  msgctxt "Help tab name"
816
  msgid "Help"
817
  msgstr "Help"
1003
 
1004
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
1005
  #: templates/panel/help-tab.php:223
 
1006
  msgctxt "Help tab documentation"
1007
  msgid "Read the plugin documentation"
1008
+ msgstr ""
1009
 
1010
  #: templates/panel/help-tab.php:220
1011
  msgctxt "Help tab documentation"
1013
  msgstr ""
1014
 
1015
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
 
1016
  msgctxt "Help tab support"
1017
  msgid "Need some help?"
1018
+ msgstr ""
1019
 
1020
  #: templates/panel/help-tab.php:235
1021
  msgctxt "Help tab support"
1030
  msgstr ""
1031
 
1032
  #: templates/panel/help-tab.php:241
 
1033
  msgctxt "Help tab support"
1034
  msgid "Yes, I need help"
1035
+ msgstr ""
1036
 
1037
  #: templates/panel/premium-tab.php:30
1038
  msgctxt "Premium Tab"
1056
  msgstr "En zo veel meer!"
1057
 
1058
  #: templates/panel/premium-tab.php:53
 
1059
  msgctxt "Premium Tab"
1060
  msgid "Check the premium features >"
1061
+ msgstr ""
1062
 
1063
  #: templates/panel/premium-tab.php:60
1064
  msgctxt "Premium Tab"
plugin-fw/languages/yith-plugin-fw-ru_RU.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-ru_RU.po CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
8
  "PO-Revision-Date: 2022-04-05 17:22:32+0000\n"
9
  "Language: ru\n"
10
  "MIME-Version: 1.0\n"
@@ -14,56 +14,56 @@ msgstr ""
14
  "10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n"
15
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
16
 
17
- #: includes/class-yit-assets.php:146 yit-functions.php:2006
18
  msgid "Confirm trash"
19
  msgstr "Подтвердить корзину"
20
 
21
- #: includes/class-yit-assets.php:147
22
  msgid "Are you sure you want to trash the selected items?"
23
  msgstr "Вы уверены, что хотите переместить в корзину выбранные элементы?"
24
 
25
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
26
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
27
  #: yit-functions.php:2008 yit-functions.php:2026
28
  msgid "No"
29
  msgstr "Нет"
30
 
31
- #: includes/class-yit-assets.php:150 yit-functions.php:2024
32
  #: yit-functions.php:2152
33
  msgid "Confirm delete"
34
  msgstr "Подтвердите удаление"
35
 
36
- #: includes/class-yit-assets.php:151
37
  msgid "Are you sure you want to delete the selected items?"
38
  msgstr "Вы уверены, что хотите удалить выбранные элементы?"
39
 
40
- #: includes/class-yit-assets.php:151 yit-functions.php:1940
41
  #: yit-functions.php:2100
42
  msgid ""
43
  "This action cannot be undone and you will not be able to recover this data."
44
  msgstr "Это действие нельзя отменить, и вы не сможете восстановить эти данные."
45
 
46
- #: includes/class-yit-assets.php:172
47
  msgid "Clear"
48
  msgstr "Очистить"
49
 
50
- #: includes/class-yit-assets.php:173
51
  msgid "Clear color"
52
  msgstr "Очистить цвет"
53
 
54
- #: includes/class-yit-assets.php:174
55
  msgid "Default"
56
  msgstr "По умолчанию"
57
 
58
- #: includes/class-yit-assets.php:175
59
  msgid "Select default color"
60
  msgstr "Выберите цвет по умолчанию"
61
 
62
- #: includes/class-yit-assets.php:176
63
  msgid "Select Color"
64
  msgstr "Выберите цвет"
65
 
66
- #: includes/class-yit-assets.php:177
67
  msgid "Color value"
68
  msgstr "Цвет значения"
69
 
@@ -73,7 +73,7 @@ msgstr ""
73
  "При выполнении вашего запроса произошла ошибка; пожалуйста, повторите "
74
  "попытку позже."
75
 
76
- #: includes/class-yit-plugin-panel-woocommerce.php:430
77
  msgid "The changes you have made will be lost if you leave this page."
78
  msgstr ""
79
  "Внесенные вами изменения будут потеряны, если вы покинете эту страницу."
@@ -86,17 +86,17 @@ msgstr "Настройки Плагина"
86
  msgid "Settings"
87
  msgstr "Настройки"
88
 
89
- #: includes/class-yit-plugin-panel.php:455
90
- #: includes/class-yit-plugin-panel.php:458
91
  msgid "How to install premium version"
92
  msgstr "Как установить премиум версию"
93
 
94
- #: includes/class-yit-plugin-panel.php:655
95
  #: includes/class-yit-plugin-subpanel.php:133
96
  msgid "Save Changes"
97
  msgstr "Сохранить Изменения"
98
 
99
- #: includes/class-yit-plugin-panel.php:663
100
  #: includes/class-yit-plugin-subpanel.php:140
101
  #: templates/panel/woocommerce/woocommerce-form.php:15
102
  msgid ""
@@ -104,72 +104,88 @@ msgid ""
104
  msgstr ""
105
  "Если вы продолжите это действие, вы сбросите все параметры на этой странице."
106
 
107
- #: includes/class-yit-plugin-panel.php:663
108
  #: includes/class-yit-plugin-subpanel.php:140
109
  #: templates/panel/woocommerce/woocommerce-form.php:15
110
  msgid "Are you sure?"
111
  msgstr "Вы уверены?"
112
 
113
- #: includes/class-yit-plugin-panel.php:667
114
  #: includes/class-yit-plugin-subpanel.php:143
115
  msgid "Reset to default"
116
  msgstr "Сброс до заводских настроек"
117
 
118
- #: includes/class-yit-plugin-panel.php:1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  msgid ""
120
  "The element you have entered already exists. Please, enter another name."
121
  msgstr "Введенный вами элемент уже существует. Пожалуйста, введите другое имя."
122
 
123
- #: includes/class-yit-plugin-panel.php:1075
124
  msgid "Settings saved"
125
  msgstr "Настройки сохранены"
126
 
127
- #: includes/class-yit-plugin-panel.php:1076
128
  msgid "Settings reset"
129
  msgstr "Сбросить настройки"
130
 
131
- #: includes/class-yit-plugin-panel.php:1077
132
  msgid "Element deleted correctly."
133
  msgstr "Элемент удален правильно."
134
 
135
- #: includes/class-yit-plugin-panel.php:1078
136
- #: includes/class-yit-plugin-panel.php:1079
137
  msgid "Element updated correctly."
138
  msgstr "Элемент обновлен правильно."
139
 
140
- #: includes/class-yit-plugin-panel.php:1080
141
  msgid "Database imported correctly."
142
  msgstr "База данных импортирована правильно."
143
 
144
- #: includes/class-yit-plugin-panel.php:1081
145
  msgid "An error has occurred during import. Please try again."
146
  msgstr "Во время импорта произошла ошибка. Пожалуйста, попробуйте еще раз."
147
 
148
- #: includes/class-yit-plugin-panel.php:1082
149
  msgid "The added file is not valid."
150
  msgstr "Добавленный файл недействителен."
151
 
152
- #: includes/class-yit-plugin-panel.php:1083
153
  msgid "Sorry, import is disabled."
154
  msgstr "Извините, импорт отключен."
155
 
156
- #: includes/class-yit-plugin-panel.php:1084
157
  msgid "Sorting successful."
158
  msgstr "Сортировка выполнена успешно."
159
 
160
- #: includes/class-yit-plugin-panel.php:1573
161
  msgid "We need your support"
162
  msgstr "Нам нужна ваша поддержка"
163
 
164
- #: includes/class-yit-plugin-panel.php:1574
165
  msgid "to keep updating and improving the plugin. Please,"
166
  msgstr "чтобы продолжать обновлять и улучшать плагин. Пожалуйста,"
167
 
168
- #: includes/class-yit-plugin-panel.php:1576
169
  msgid "help us by leaving a good review"
170
  msgstr "помогите нам, оставив хороший отзыв"
171
 
172
- #: includes/class-yit-plugin-panel.php:1577
173
  msgid ":) Thanks!"
174
  msgstr ":) Благодарим!"
175
 
@@ -543,6 +559,34 @@ msgstr "Загрузить"
543
  msgid "Reset"
544
  msgstr "Сброс"
545
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
546
  #: templates/panel/woocommerce/woocommerce-form.php:29
547
  #: templates/panel/woocommerce/woocommerce-form.php:33
548
  msgid "Save Options"
@@ -724,40 +768,39 @@ msgctxt "[gutenberg]: Category Name"
724
  msgid "YITH"
725
  msgstr "YITH"
726
 
727
- #: includes/class-yit-assets.php:134
728
  msgctxt "Button text"
729
  msgid "Confirm"
730
  msgstr "Подтвердить"
731
 
732
- #: includes/class-yit-assets.php:135
733
  msgctxt "Button text"
734
  msgid "Cancel"
735
  msgstr "Отмена"
736
 
737
- #: includes/class-yit-assets.php:148 yit-functions.php:2009
738
  msgctxt "Trash confirmation action"
739
  msgid "Yes, move to trash"
740
  msgstr "Да, удалить в корзину"
741
 
742
- #: includes/class-yit-assets.php:152 yit-functions.php:2027
743
  #: yit-functions.php:2154
744
  msgctxt "Delete confirmation action"
745
  msgid "Yes, delete"
746
  msgstr "Да, удалить"
747
 
748
  #. translators: 1. Plugin name.
749
- #: includes/class-yit-plugin-panel.php:803
750
  msgctxt "Help tab default title"
751
  msgid "Thank you for purchasing %s!"
752
  msgstr "Благодарим вас за покупку %s!"
753
 
754
- #: includes/class-yit-plugin-panel.php:803
755
- #, fuzzy
756
  msgctxt "Help tab default title"
757
  msgid "Thank you for using %s!"
758
- msgstr "Благодарим вас за покупку %s!"
759
 
760
- #: includes/class-yit-plugin-panel.php:815
761
  msgctxt "Help tab default description"
762
  msgid ""
763
  "We want to help you enjoy a wonderful experience with all of our products."
@@ -765,12 +808,12 @@ msgstr ""
765
  "Мы хотим помочь вам получить удовольствие от использования всех наших "
766
  "продуктов."
767
 
768
- #: includes/class-yit-plugin-panel.php:866
769
  msgctxt "Premium tab name"
770
  msgid "Get premium"
771
  msgstr "Получите премиум"
772
 
773
- #: includes/class-yit-plugin-panel.php:878
774
  msgctxt "Help tab name"
775
  msgid "Help"
776
  msgstr "Помощь"
@@ -966,10 +1009,9 @@ msgstr "Отправить обращение"
966
 
967
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
968
  #: templates/panel/help-tab.php:223
969
- #, fuzzy
970
  msgctxt "Help tab documentation"
971
  msgid "Read the plugin documentation"
972
- msgstr "Прочтите документацию"
973
 
974
  #: templates/panel/help-tab.php:220
975
  msgctxt "Help tab documentation"
@@ -977,10 +1019,9 @@ msgid "to learn how it works from the basics."
977
  msgstr ""
978
 
979
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
980
- #, fuzzy
981
  msgctxt "Help tab support"
982
  msgid "Need some help?"
983
- msgstr "Нужна помощь?"
984
 
985
  #: templates/panel/help-tab.php:235
986
  msgctxt "Help tab support"
@@ -995,10 +1036,9 @@ msgid ""
995
  msgstr ""
996
 
997
  #: templates/panel/help-tab.php:241
998
- #, fuzzy
999
  msgctxt "Help tab support"
1000
  msgid "Yes, I need help"
1001
- msgstr "Нужна помощь?"
1002
 
1003
  #: templates/panel/premium-tab.php:30
1004
  msgctxt "Premium Tab"
@@ -1022,10 +1062,9 @@ msgid "And so much more!"
1022
  msgstr "И многое другое!"
1023
 
1024
  #: templates/panel/premium-tab.php:53
1025
- #, fuzzy
1026
  msgctxt "Premium Tab"
1027
  msgid "Check the premium features >"
1028
- msgstr "Проверьте бесплатные и премиум функции >"
1029
 
1030
  #: templates/panel/premium-tab.php:60
1031
  msgctxt "Premium Tab"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2022-08-10 12:46:35+00:00\n"
8
  "PO-Revision-Date: 2022-04-05 17:22:32+0000\n"
9
  "Language: ru\n"
10
  "MIME-Version: 1.0\n"
14
  "10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n"
15
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
16
 
17
+ #: includes/class-yit-assets.php:148 yit-functions.php:2006
18
  msgid "Confirm trash"
19
  msgstr "Подтвердить корзину"
20
 
21
+ #: includes/class-yit-assets.php:149
22
  msgid "Are you sure you want to trash the selected items?"
23
  msgstr "Вы уверены, что хотите переместить в корзину выбранные элементы?"
24
 
25
+ #: includes/class-yit-assets.php:151 includes/class-yit-assets.php:155
26
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
27
  #: yit-functions.php:2008 yit-functions.php:2026
28
  msgid "No"
29
  msgstr "Нет"
30
 
31
+ #: includes/class-yit-assets.php:152 yit-functions.php:2024
32
  #: yit-functions.php:2152
33
  msgid "Confirm delete"
34
  msgstr "Подтвердите удаление"
35
 
36
+ #: includes/class-yit-assets.php:153
37
  msgid "Are you sure you want to delete the selected items?"
38
  msgstr "Вы уверены, что хотите удалить выбранные элементы?"
39
 
40
+ #: includes/class-yit-assets.php:153 yit-functions.php:1940
41
  #: yit-functions.php:2100
42
  msgid ""
43
  "This action cannot be undone and you will not be able to recover this data."
44
  msgstr "Это действие нельзя отменить, и вы не сможете восстановить эти данные."
45
 
46
+ #: includes/class-yit-assets.php:174
47
  msgid "Clear"
48
  msgstr "Очистить"
49
 
50
+ #: includes/class-yit-assets.php:175
51
  msgid "Clear color"
52
  msgstr "Очистить цвет"
53
 
54
+ #: includes/class-yit-assets.php:176
55
  msgid "Default"
56
  msgstr "По умолчанию"
57
 
58
+ #: includes/class-yit-assets.php:177
59
  msgid "Select default color"
60
  msgstr "Выберите цвет по умолчанию"
61
 
62
+ #: includes/class-yit-assets.php:178
63
  msgid "Select Color"
64
  msgstr "Выберите цвет"
65
 
66
+ #: includes/class-yit-assets.php:179
67
  msgid "Color value"
68
  msgstr "Цвет значения"
69
 
73
  "При выполнении вашего запроса произошла ошибка; пожалуйста, повторите "
74
  "попытку позже."
75
 
76
+ #: includes/class-yit-plugin-panel-woocommerce.php:437
77
  msgid "The changes you have made will be lost if you leave this page."
78
  msgstr ""
79
  "Внесенные вами изменения будут потеряны, если вы покинете эту страницу."
86
  msgid "Settings"
87
  msgstr "Настройки"
88
 
89
+ #: includes/class-yit-plugin-panel.php:456
90
+ #: includes/class-yit-plugin-panel.php:459
91
  msgid "How to install premium version"
92
  msgstr "Как установить премиум версию"
93
 
94
+ #: includes/class-yit-plugin-panel.php:656
95
  #: includes/class-yit-plugin-subpanel.php:133
96
  msgid "Save Changes"
97
  msgstr "Сохранить Изменения"
98
 
99
+ #: includes/class-yit-plugin-panel.php:664
100
  #: includes/class-yit-plugin-subpanel.php:140
101
  #: templates/panel/woocommerce/woocommerce-form.php:15
102
  msgid ""
104
  msgstr ""
105
  "Если вы продолжите это действие, вы сбросите все параметры на этой странице."
106
 
107
+ #: includes/class-yit-plugin-panel.php:664
108
  #: includes/class-yit-plugin-subpanel.php:140
109
  #: templates/panel/woocommerce/woocommerce-form.php:15
110
  msgid "Are you sure?"
111
  msgstr "Вы уверены?"
112
 
113
+ #: includes/class-yit-plugin-panel.php:668
114
  #: includes/class-yit-plugin-subpanel.php:143
115
  msgid "Reset to default"
116
  msgstr "Сброс до заводских настроек"
117
 
118
+ #: includes/class-yit-plugin-panel.php:1039
119
+ msgid "Read the <mark>plugin documentation</mark>"
120
+ msgstr ""
121
+
122
+ #: includes/class-yit-plugin-panel.php:1040
123
+ msgid "Learn what you can really do with this powerful tool"
124
+ msgstr ""
125
+
126
+ #: includes/class-yit-plugin-panel.php:1050
127
+ msgid "Watch our <mark>\"First Steps\" video</mark>"
128
+ msgstr ""
129
+
130
+ #: includes/class-yit-plugin-panel.php:1051
131
+ msgid "See how it works before you start using it"
132
+ msgstr ""
133
+
134
+ #: includes/class-yit-plugin-panel.php:1307
135
  msgid ""
136
  "The element you have entered already exists. Please, enter another name."
137
  msgstr "Введенный вами элемент уже существует. Пожалуйста, введите другое имя."
138
 
139
+ #: includes/class-yit-plugin-panel.php:1308
140
  msgid "Settings saved"
141
  msgstr "Настройки сохранены"
142
 
143
+ #: includes/class-yit-plugin-panel.php:1309
144
  msgid "Settings reset"
145
  msgstr "Сбросить настройки"
146
 
147
+ #: includes/class-yit-plugin-panel.php:1310
148
  msgid "Element deleted correctly."
149
  msgstr "Элемент удален правильно."
150
 
151
+ #: includes/class-yit-plugin-panel.php:1311
152
+ #: includes/class-yit-plugin-panel.php:1312
153
  msgid "Element updated correctly."
154
  msgstr "Элемент обновлен правильно."
155
 
156
+ #: includes/class-yit-plugin-panel.php:1313
157
  msgid "Database imported correctly."
158
  msgstr "База данных импортирована правильно."
159
 
160
+ #: includes/class-yit-plugin-panel.php:1314
161
  msgid "An error has occurred during import. Please try again."
162
  msgstr "Во время импорта произошла ошибка. Пожалуйста, попробуйте еще раз."
163
 
164
+ #: includes/class-yit-plugin-panel.php:1315
165
  msgid "The added file is not valid."
166
  msgstr "Добавленный файл недействителен."
167
 
168
+ #: includes/class-yit-plugin-panel.php:1316
169
  msgid "Sorry, import is disabled."
170
  msgstr "Извините, импорт отключен."
171
 
172
+ #: includes/class-yit-plugin-panel.php:1317
173
  msgid "Sorting successful."
174
  msgstr "Сортировка выполнена успешно."
175
 
176
+ #: includes/class-yit-plugin-panel.php:1806
177
  msgid "We need your support"
178
  msgstr "Нам нужна ваша поддержка"
179
 
180
+ #: includes/class-yit-plugin-panel.php:1807
181
  msgid "to keep updating and improving the plugin. Please,"
182
  msgstr "чтобы продолжать обновлять и улучшать плагин. Пожалуйста,"
183
 
184
+ #: includes/class-yit-plugin-panel.php:1809
185
  msgid "help us by leaving a good review"
186
  msgstr "помогите нам, оставив хороший отзыв"
187
 
188
+ #: includes/class-yit-plugin-panel.php:1810
189
  msgid ":) Thanks!"
190
  msgstr ":) Благодарим!"
191
 
559
  msgid "Reset"
560
  msgstr "Сброс"
561
 
562
+ #. translators: %s is the plugin version.
563
+ #: templates/panel/welcome-modals/update.php:34
564
+ msgid "is successfully updated to version %s."
565
+ msgstr ""
566
+
567
+ #. translators: %s is the plugin version.
568
+ #: templates/panel/welcome-modals/update.php:44
569
+ msgid "What's new in version %s"
570
+ msgstr ""
571
+
572
+ #: templates/panel/welcome-modals/update.php:49
573
+ msgid "Check the changelog >"
574
+ msgstr ""
575
+
576
+ #: templates/panel/welcome-modals/update.php:64
577
+ #: templates/panel/welcome-modals/welcome.php:60
578
+ msgid "Got it, close this window"
579
+ msgstr ""
580
+
581
+ #: templates/panel/welcome-modals/welcome.php:30
582
+ msgid "Thank you for using our plugin"
583
+ msgstr ""
584
+
585
+ #. translators: %s is the number of steps.
586
+ #: templates/panel/welcome-modals/welcome.php:45
587
+ msgid "Start with these %s steps:"
588
+ msgstr ""
589
+
590
  #: templates/panel/woocommerce/woocommerce-form.php:29
591
  #: templates/panel/woocommerce/woocommerce-form.php:33
592
  msgid "Save Options"
768
  msgid "YITH"
769
  msgstr "YITH"
770
 
771
+ #: includes/class-yit-assets.php:136
772
  msgctxt "Button text"
773
  msgid "Confirm"
774
  msgstr "Подтвердить"
775
 
776
+ #: includes/class-yit-assets.php:137
777
  msgctxt "Button text"
778
  msgid "Cancel"
779
  msgstr "Отмена"
780
 
781
+ #: includes/class-yit-assets.php:150 yit-functions.php:2009
782
  msgctxt "Trash confirmation action"
783
  msgid "Yes, move to trash"
784
  msgstr "Да, удалить в корзину"
785
 
786
+ #: includes/class-yit-assets.php:154 yit-functions.php:2027
787
  #: yit-functions.php:2154
788
  msgctxt "Delete confirmation action"
789
  msgid "Yes, delete"
790
  msgstr "Да, удалить"
791
 
792
  #. translators: 1. Plugin name.
793
+ #: includes/class-yit-plugin-panel.php:804
794
  msgctxt "Help tab default title"
795
  msgid "Thank you for purchasing %s!"
796
  msgstr "Благодарим вас за покупку %s!"
797
 
798
+ #: includes/class-yit-plugin-panel.php:804
 
799
  msgctxt "Help tab default title"
800
  msgid "Thank you for using %s!"
801
+ msgstr ""
802
 
803
+ #: includes/class-yit-plugin-panel.php:812
804
  msgctxt "Help tab default description"
805
  msgid ""
806
  "We want to help you enjoy a wonderful experience with all of our products."
808
  "Мы хотим помочь вам получить удовольствие от использования всех наших "
809
  "продуктов."
810
 
811
+ #: includes/class-yit-plugin-panel.php:863
812
  msgctxt "Premium tab name"
813
  msgid "Get premium"
814
  msgstr "Получите премиум"
815
 
816
+ #: includes/class-yit-plugin-panel.php:875
817
  msgctxt "Help tab name"
818
  msgid "Help"
819
  msgstr "Помощь"
1009
 
1010
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
1011
  #: templates/panel/help-tab.php:223
 
1012
  msgctxt "Help tab documentation"
1013
  msgid "Read the plugin documentation"
1014
+ msgstr ""
1015
 
1016
  #: templates/panel/help-tab.php:220
1017
  msgctxt "Help tab documentation"
1019
  msgstr ""
1020
 
1021
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
 
1022
  msgctxt "Help tab support"
1023
  msgid "Need some help?"
1024
+ msgstr ""
1025
 
1026
  #: templates/panel/help-tab.php:235
1027
  msgctxt "Help tab support"
1036
  msgstr ""
1037
 
1038
  #: templates/panel/help-tab.php:241
 
1039
  msgctxt "Help tab support"
1040
  msgid "Yes, I need help"
1041
+ msgstr ""
1042
 
1043
  #: templates/panel/premium-tab.php:30
1044
  msgctxt "Premium Tab"
1062
  msgstr "И многое другое!"
1063
 
1064
  #: templates/panel/premium-tab.php:53
 
1065
  msgctxt "Premium Tab"
1066
  msgid "Check the premium features >"
1067
+ msgstr ""
1068
 
1069
  #: templates/panel/premium-tab.php:60
1070
  msgctxt "Premium Tab"
plugin-fw/languages/yith-plugin-fw-zh_CN.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-zh_CN.po CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
8
  "PO-Revision-Date: 2022-06-29 13:12:18+0000\n"
9
  "Language: zh\n"
10
  "MIME-Version: 1.0\n"
@@ -13,56 +13,56 @@ msgstr ""
13
  "Plural-Forms: nplurals=1; plural=0;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
- #: includes/class-yit-assets.php:146 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "確認丟棄"
19
 
20
- #: includes/class-yit-assets.php:147
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr "你確定要將所選的項目移至垃圾桶嗎?"
23
 
24
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
25
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
  #: yit-functions.php:2008 yit-functions.php:2026
27
  msgid "No"
28
  msgstr "不"
29
 
30
- #: includes/class-yit-assets.php:150 yit-functions.php:2024
31
  #: yit-functions.php:2152
32
  msgid "Confirm delete"
33
  msgstr "確認刪除"
34
 
35
- #: includes/class-yit-assets.php:151
36
  msgid "Are you sure you want to delete the selected items?"
37
  msgstr "你確定要刪除所選的項目嗎?"
38
 
39
- #: includes/class-yit-assets.php:151 yit-functions.php:1940
40
  #: yit-functions.php:2100
41
  msgid ""
42
  "This action cannot be undone and you will not be able to recover this data."
43
  msgstr "此操作無法撤消,您將無法恢復此數據。"
44
 
45
- #: includes/class-yit-assets.php:172
46
  msgid "Clear"
47
  msgstr "清除"
48
 
49
- #: includes/class-yit-assets.php:173
50
  msgid "Clear color"
51
  msgstr "清除顏色"
52
 
53
- #: includes/class-yit-assets.php:174
54
  msgid "Default"
55
  msgstr "預設"
56
 
57
- #: includes/class-yit-assets.php:175
58
  msgid "Select default color"
59
  msgstr "選擇預設顏色"
60
 
61
- #: includes/class-yit-assets.php:176
62
  msgid "Select Color"
63
  msgstr "選擇顏色"
64
 
65
- #: includes/class-yit-assets.php:177
66
  msgid "Color value"
67
  msgstr "顏色數值"
68
 
@@ -70,7 +70,7 @@ msgstr "顏色數值"
70
  msgid "There was an error with your request; please try again later."
71
  msgstr "您的請求有誤; 請稍後再試。"
72
 
73
- #: includes/class-yit-plugin-panel-woocommerce.php:430
74
  msgid "The changes you have made will be lost if you leave this page."
75
  msgstr "如果你離開這個頁面,這些改變將會遺失"
76
 
@@ -82,89 +82,105 @@ msgstr "外掛設定"
82
  msgid "Settings"
83
  msgstr "設定"
84
 
85
- #: includes/class-yit-plugin-panel.php:455
86
- #: includes/class-yit-plugin-panel.php:458
87
  msgid "How to install premium version"
88
  msgstr "如何安裝高級版"
89
 
90
- #: includes/class-yit-plugin-panel.php:655
91
  #: includes/class-yit-plugin-subpanel.php:133
92
  msgid "Save Changes"
93
  msgstr "儲存變更"
94
 
95
- #: includes/class-yit-plugin-panel.php:663
96
  #: includes/class-yit-plugin-subpanel.php:140
97
  #: templates/panel/woocommerce/woocommerce-form.php:15
98
  msgid ""
99
  "If you continue with this action, you will reset all options in this page."
100
  msgstr "如果你繼續這個動作,你將會重設這個頁面所有的選項"
101
 
102
- #: includes/class-yit-plugin-panel.php:663
103
  #: includes/class-yit-plugin-subpanel.php:140
104
  #: templates/panel/woocommerce/woocommerce-form.php:15
105
  msgid "Are you sure?"
106
  msgstr "你確定嗎?"
107
 
108
- #: includes/class-yit-plugin-panel.php:667
109
  #: includes/class-yit-plugin-subpanel.php:143
110
  msgid "Reset to default"
111
  msgstr "重置為預設值"
112
 
113
- #: includes/class-yit-plugin-panel.php:1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  msgid ""
115
  "The element you have entered already exists. Please, enter another name."
116
  msgstr "你輸入的這個元素已經存在,請輸入另一個名稱"
117
 
118
- #: includes/class-yit-plugin-panel.php:1075
119
  msgid "Settings saved"
120
  msgstr "設定已經儲存"
121
 
122
- #: includes/class-yit-plugin-panel.php:1076
123
  msgid "Settings reset"
124
  msgstr "重置設定"
125
 
126
- #: includes/class-yit-plugin-panel.php:1077
127
  msgid "Element deleted correctly."
128
  msgstr "元素已被確實刪除"
129
 
130
- #: includes/class-yit-plugin-panel.php:1078
131
- #: includes/class-yit-plugin-panel.php:1079
132
  msgid "Element updated correctly."
133
  msgstr "元素已正確更新。"
134
 
135
- #: includes/class-yit-plugin-panel.php:1080
136
  msgid "Database imported correctly."
137
  msgstr "資料庫已被正確匯入"
138
 
139
- #: includes/class-yit-plugin-panel.php:1081
140
  msgid "An error has occurred during import. Please try again."
141
  msgstr "匯入過程中發生一個錯誤,請再試一次"
142
 
143
- #: includes/class-yit-plugin-panel.php:1082
144
  msgid "The added file is not valid."
145
  msgstr "添加的檔案無效"
146
 
147
- #: includes/class-yit-plugin-panel.php:1083
148
  msgid "Sorry, import is disabled."
149
  msgstr "抱歉,匯入功能被關閉"
150
 
151
- #: includes/class-yit-plugin-panel.php:1084
152
  msgid "Sorting successful."
153
  msgstr "已順利排序"
154
 
155
- #: includes/class-yit-plugin-panel.php:1573
156
  msgid "We need your support"
157
  msgstr "我們需要你的支援"
158
 
159
- #: includes/class-yit-plugin-panel.php:1574
160
  msgid "to keep updating and improving the plugin. Please,"
161
  msgstr "請不斷保持更新與改進外掛"
162
 
163
- #: includes/class-yit-plugin-panel.php:1576
164
  msgid "help us by leaving a good review"
165
  msgstr "留下好的評論幫助我們更進步"
166
 
167
- #: includes/class-yit-plugin-panel.php:1577
168
  msgid ":) Thanks!"
169
  msgstr ":) 謝謝!"
170
 
@@ -527,6 +543,34 @@ msgstr "上傳"
527
  msgid "Reset"
528
  msgstr "重置"
529
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
530
  #: templates/panel/woocommerce/woocommerce-form.php:29
531
  #: templates/panel/woocommerce/woocommerce-form.php:33
532
  msgid "Save Options"
@@ -704,51 +748,50 @@ msgctxt "[gutenberg]: Category Name"
704
  msgid "YITH"
705
  msgstr "YITH"
706
 
707
- #: includes/class-yit-assets.php:134
708
  msgctxt "Button text"
709
  msgid "Confirm"
710
  msgstr "確認"
711
 
712
- #: includes/class-yit-assets.php:135
713
  msgctxt "Button text"
714
  msgid "Cancel"
715
  msgstr "取消"
716
 
717
- #: includes/class-yit-assets.php:148 yit-functions.php:2009
718
  msgctxt "Trash confirmation action"
719
  msgid "Yes, move to trash"
720
  msgstr "是的,將它移至垃圾桶"
721
 
722
- #: includes/class-yit-assets.php:152 yit-functions.php:2027
723
  #: yit-functions.php:2154
724
  msgctxt "Delete confirmation action"
725
  msgid "Yes, delete"
726
  msgstr "是的,刪除"
727
 
728
  #. translators: 1. Plugin name.
729
- #: includes/class-yit-plugin-panel.php:803
730
  msgctxt "Help tab default title"
731
  msgid "Thank you for purchasing %s!"
732
  msgstr "感謝您購買 %s !"
733
 
734
- #: includes/class-yit-plugin-panel.php:803
735
- #, fuzzy
736
  msgctxt "Help tab default title"
737
  msgid "Thank you for using %s!"
738
- msgstr "感謝您購買 %s !"
739
 
740
- #: includes/class-yit-plugin-panel.php:815
741
  msgctxt "Help tab default description"
742
  msgid ""
743
  "We want to help you enjoy a wonderful experience with all of our products."
744
  msgstr "我們希望幫助您享受我們所有產品的美妙體驗。"
745
 
746
- #: includes/class-yit-plugin-panel.php:866
747
  msgctxt "Premium tab name"
748
  msgid "Get premium"
749
  msgstr "取得高級版"
750
 
751
- #: includes/class-yit-plugin-panel.php:878
752
  msgctxt "Help tab name"
753
  msgid "Help"
754
  msgstr "幫助"
@@ -938,22 +981,19 @@ msgstr "提交一張工作單"
938
 
939
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
940
  #: templates/panel/help-tab.php:223
941
- #, fuzzy
942
  msgctxt "Help tab documentation"
943
  msgid "Read the plugin documentation"
944
- msgstr "閱讀說明文件"
945
 
946
  #: templates/panel/help-tab.php:220
947
- #, fuzzy
948
  msgctxt "Help tab documentation"
949
  msgid "to learn how it works from the basics."
950
- msgstr "了解外掛的基礎工作原理"
951
 
952
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
953
- #, fuzzy
954
  msgctxt "Help tab support"
955
  msgid "Need some help?"
956
- msgstr "需要幫忙?"
957
 
958
  #: templates/panel/help-tab.php:235
959
  msgctxt "Help tab support"
@@ -968,10 +1008,9 @@ msgid ""
968
  msgstr ""
969
 
970
  #: templates/panel/help-tab.php:241
971
- #, fuzzy
972
  msgctxt "Help tab support"
973
  msgid "Yes, I need help"
974
- msgstr "需要幫忙?"
975
 
976
  #: templates/panel/premium-tab.php:30
977
  msgctxt "Premium Tab"
@@ -995,10 +1034,9 @@ msgid "And so much more!"
995
  msgstr "還有更多!"
996
 
997
  #: templates/panel/premium-tab.php:53
998
- #, fuzzy
999
  msgctxt "Premium Tab"
1000
  msgid "Check the premium features >"
1001
- msgstr "查看免費板與高級版的特色比較"
1002
 
1003
  #: templates/panel/premium-tab.php:60
1004
  msgctxt "Premium Tab"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2022-08-10 12:46:35+00:00\n"
8
  "PO-Revision-Date: 2022-06-29 13:12:18+0000\n"
9
  "Language: zh\n"
10
  "MIME-Version: 1.0\n"
13
  "Plural-Forms: nplurals=1; plural=0;\n"
14
  "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
 
16
+ #: includes/class-yit-assets.php:148 yit-functions.php:2006
17
  msgid "Confirm trash"
18
  msgstr "確認丟棄"
19
 
20
+ #: includes/class-yit-assets.php:149
21
  msgid "Are you sure you want to trash the selected items?"
22
  msgstr "你確定要將所選的項目移至垃圾桶嗎?"
23
 
24
+ #: includes/class-yit-assets.php:151 includes/class-yit-assets.php:155
25
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
  #: yit-functions.php:2008 yit-functions.php:2026
27
  msgid "No"
28
  msgstr "不"
29
 
30
+ #: includes/class-yit-assets.php:152 yit-functions.php:2024
31
  #: yit-functions.php:2152
32
  msgid "Confirm delete"
33
  msgstr "確認刪除"
34
 
35
+ #: includes/class-yit-assets.php:153
36
  msgid "Are you sure you want to delete the selected items?"
37
  msgstr "你確定要刪除所選的項目嗎?"
38
 
39
+ #: includes/class-yit-assets.php:153 yit-functions.php:1940
40
  #: yit-functions.php:2100
41
  msgid ""
42
  "This action cannot be undone and you will not be able to recover this data."
43
  msgstr "此操作無法撤消,您將無法恢復此數據。"
44
 
45
+ #: includes/class-yit-assets.php:174
46
  msgid "Clear"
47
  msgstr "清除"
48
 
49
+ #: includes/class-yit-assets.php:175
50
  msgid "Clear color"
51
  msgstr "清除顏色"
52
 
53
+ #: includes/class-yit-assets.php:176
54
  msgid "Default"
55
  msgstr "預設"
56
 
57
+ #: includes/class-yit-assets.php:177
58
  msgid "Select default color"
59
  msgstr "選擇預設顏色"
60
 
61
+ #: includes/class-yit-assets.php:178
62
  msgid "Select Color"
63
  msgstr "選擇顏色"
64
 
65
+ #: includes/class-yit-assets.php:179
66
  msgid "Color value"
67
  msgstr "顏色數值"
68
 
70
  msgid "There was an error with your request; please try again later."
71
  msgstr "您的請求有誤; 請稍後再試。"
72
 
73
+ #: includes/class-yit-plugin-panel-woocommerce.php:437
74
  msgid "The changes you have made will be lost if you leave this page."
75
  msgstr "如果你離開這個頁面,這些改變將會遺失"
76
 
82
  msgid "Settings"
83
  msgstr "設定"
84
 
85
+ #: includes/class-yit-plugin-panel.php:456
86
+ #: includes/class-yit-plugin-panel.php:459
87
  msgid "How to install premium version"
88
  msgstr "如何安裝高級版"
89
 
90
+ #: includes/class-yit-plugin-panel.php:656
91
  #: includes/class-yit-plugin-subpanel.php:133
92
  msgid "Save Changes"
93
  msgstr "儲存變更"
94
 
95
+ #: includes/class-yit-plugin-panel.php:664
96
  #: includes/class-yit-plugin-subpanel.php:140
97
  #: templates/panel/woocommerce/woocommerce-form.php:15
98
  msgid ""
99
  "If you continue with this action, you will reset all options in this page."
100
  msgstr "如果你繼續這個動作,你將會重設這個頁面所有的選項"
101
 
102
+ #: includes/class-yit-plugin-panel.php:664
103
  #: includes/class-yit-plugin-subpanel.php:140
104
  #: templates/panel/woocommerce/woocommerce-form.php:15
105
  msgid "Are you sure?"
106
  msgstr "你確定嗎?"
107
 
108
+ #: includes/class-yit-plugin-panel.php:668
109
  #: includes/class-yit-plugin-subpanel.php:143
110
  msgid "Reset to default"
111
  msgstr "重置為預設值"
112
 
113
+ #: includes/class-yit-plugin-panel.php:1039
114
+ msgid "Read the <mark>plugin documentation</mark>"
115
+ msgstr ""
116
+
117
+ #: includes/class-yit-plugin-panel.php:1040
118
+ msgid "Learn what you can really do with this powerful tool"
119
+ msgstr ""
120
+
121
+ #: includes/class-yit-plugin-panel.php:1050
122
+ msgid "Watch our <mark>\"First Steps\" video</mark>"
123
+ msgstr ""
124
+
125
+ #: includes/class-yit-plugin-panel.php:1051
126
+ msgid "See how it works before you start using it"
127
+ msgstr ""
128
+
129
+ #: includes/class-yit-plugin-panel.php:1307
130
  msgid ""
131
  "The element you have entered already exists. Please, enter another name."
132
  msgstr "你輸入的這個元素已經存在,請輸入另一個名稱"
133
 
134
+ #: includes/class-yit-plugin-panel.php:1308
135
  msgid "Settings saved"
136
  msgstr "設定已經儲存"
137
 
138
+ #: includes/class-yit-plugin-panel.php:1309
139
  msgid "Settings reset"
140
  msgstr "重置設定"
141
 
142
+ #: includes/class-yit-plugin-panel.php:1310
143
  msgid "Element deleted correctly."
144
  msgstr "元素已被確實刪除"
145
 
146
+ #: includes/class-yit-plugin-panel.php:1311
147
+ #: includes/class-yit-plugin-panel.php:1312
148
  msgid "Element updated correctly."
149
  msgstr "元素已正確更新。"
150
 
151
+ #: includes/class-yit-plugin-panel.php:1313
152
  msgid "Database imported correctly."
153
  msgstr "資料庫已被正確匯入"
154
 
155
+ #: includes/class-yit-plugin-panel.php:1314
156
  msgid "An error has occurred during import. Please try again."
157
  msgstr "匯入過程中發生一個錯誤,請再試一次"
158
 
159
+ #: includes/class-yit-plugin-panel.php:1315
160
  msgid "The added file is not valid."
161
  msgstr "添加的檔案無效"
162
 
163
+ #: includes/class-yit-plugin-panel.php:1316
164
  msgid "Sorry, import is disabled."
165
  msgstr "抱歉,匯入功能被關閉"
166
 
167
+ #: includes/class-yit-plugin-panel.php:1317
168
  msgid "Sorting successful."
169
  msgstr "已順利排序"
170
 
171
+ #: includes/class-yit-plugin-panel.php:1806
172
  msgid "We need your support"
173
  msgstr "我們需要你的支援"
174
 
175
+ #: includes/class-yit-plugin-panel.php:1807
176
  msgid "to keep updating and improving the plugin. Please,"
177
  msgstr "請不斷保持更新與改進外掛"
178
 
179
+ #: includes/class-yit-plugin-panel.php:1809
180
  msgid "help us by leaving a good review"
181
  msgstr "留下好的評論幫助我們更進步"
182
 
183
+ #: includes/class-yit-plugin-panel.php:1810
184
  msgid ":) Thanks!"
185
  msgstr ":) 謝謝!"
186
 
543
  msgid "Reset"
544
  msgstr "重置"
545
 
546
+ #. translators: %s is the plugin version.
547
+ #: templates/panel/welcome-modals/update.php:34
548
+ msgid "is successfully updated to version %s."
549
+ msgstr ""
550
+
551
+ #. translators: %s is the plugin version.
552
+ #: templates/panel/welcome-modals/update.php:44
553
+ msgid "What's new in version %s"
554
+ msgstr ""
555
+
556
+ #: templates/panel/welcome-modals/update.php:49
557
+ msgid "Check the changelog >"
558
+ msgstr ""
559
+
560
+ #: templates/panel/welcome-modals/update.php:64
561
+ #: templates/panel/welcome-modals/welcome.php:60
562
+ msgid "Got it, close this window"
563
+ msgstr ""
564
+
565
+ #: templates/panel/welcome-modals/welcome.php:30
566
+ msgid "Thank you for using our plugin"
567
+ msgstr ""
568
+
569
+ #. translators: %s is the number of steps.
570
+ #: templates/panel/welcome-modals/welcome.php:45
571
+ msgid "Start with these %s steps:"
572
+ msgstr ""
573
+
574
  #: templates/panel/woocommerce/woocommerce-form.php:29
575
  #: templates/panel/woocommerce/woocommerce-form.php:33
576
  msgid "Save Options"
748
  msgid "YITH"
749
  msgstr "YITH"
750
 
751
+ #: includes/class-yit-assets.php:136
752
  msgctxt "Button text"
753
  msgid "Confirm"
754
  msgstr "確認"
755
 
756
+ #: includes/class-yit-assets.php:137
757
  msgctxt "Button text"
758
  msgid "Cancel"
759
  msgstr "取消"
760
 
761
+ #: includes/class-yit-assets.php:150 yit-functions.php:2009
762
  msgctxt "Trash confirmation action"
763
  msgid "Yes, move to trash"
764
  msgstr "是的,將它移至垃圾桶"
765
 
766
+ #: includes/class-yit-assets.php:154 yit-functions.php:2027
767
  #: yit-functions.php:2154
768
  msgctxt "Delete confirmation action"
769
  msgid "Yes, delete"
770
  msgstr "是的,刪除"
771
 
772
  #. translators: 1. Plugin name.
773
+ #: includes/class-yit-plugin-panel.php:804
774
  msgctxt "Help tab default title"
775
  msgid "Thank you for purchasing %s!"
776
  msgstr "感謝您購買 %s !"
777
 
778
+ #: includes/class-yit-plugin-panel.php:804
 
779
  msgctxt "Help tab default title"
780
  msgid "Thank you for using %s!"
781
+ msgstr ""
782
 
783
+ #: includes/class-yit-plugin-panel.php:812
784
  msgctxt "Help tab default description"
785
  msgid ""
786
  "We want to help you enjoy a wonderful experience with all of our products."
787
  msgstr "我們希望幫助您享受我們所有產品的美妙體驗。"
788
 
789
+ #: includes/class-yit-plugin-panel.php:863
790
  msgctxt "Premium tab name"
791
  msgid "Get premium"
792
  msgstr "取得高級版"
793
 
794
+ #: includes/class-yit-plugin-panel.php:875
795
  msgctxt "Help tab name"
796
  msgid "Help"
797
  msgstr "幫助"
981
 
982
  #: templates/panel/help-tab.php:216 templates/panel/help-tab.php:218
983
  #: templates/panel/help-tab.php:223
 
984
  msgctxt "Help tab documentation"
985
  msgid "Read the plugin documentation"
986
+ msgstr ""
987
 
988
  #: templates/panel/help-tab.php:220
 
989
  msgctxt "Help tab documentation"
990
  msgid "to learn how it works from the basics."
991
+ msgstr ""
992
 
993
  #: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
 
994
  msgctxt "Help tab support"
995
  msgid "Need some help?"
996
+ msgstr ""
997
 
998
  #: templates/panel/help-tab.php:235
999
  msgctxt "Help tab support"
1008
  msgstr ""
1009
 
1010
  #: templates/panel/help-tab.php:241
 
1011
  msgctxt "Help tab support"
1012
  msgid "Yes, I need help"
1013
+ msgstr ""
1014
 
1015
  #: templates/panel/premium-tab.php:30
1016
  msgctxt "Premium Tab"
1034
  msgstr "還有更多!"
1035
 
1036
  #: templates/panel/premium-tab.php:53
 
1037
  msgctxt "Premium Tab"
1038
  msgid "Check the premium features >"
1039
+ msgstr ""
1040
 
1041
  #: templates/panel/premium-tab.php:60
1042
  msgctxt "Premium Tab"
plugin-fw/languages/yith-plugin-fw.pot CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -24,55 +24,55 @@ msgstr ""
24
  "X-Textdomain-Support: yes\n"
25
  "X-Generator: grunt-wp-i18n 1.0.3\n"
26
 
27
- #: includes/class-yit-assets.php:146 yit-functions.php:2006
28
  msgid "Confirm trash"
29
  msgstr ""
30
 
31
- #: includes/class-yit-assets.php:147
32
  msgid "Are you sure you want to trash the selected items?"
33
  msgstr ""
34
 
35
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
36
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
37
  #: yit-functions.php:2008 yit-functions.php:2026
38
  msgid "No"
39
  msgstr ""
40
 
41
- #: includes/class-yit-assets.php:150 yit-functions.php:2024
42
  #: yit-functions.php:2152
43
  msgid "Confirm delete"
44
  msgstr ""
45
 
46
- #: includes/class-yit-assets.php:151
47
  msgid "Are you sure you want to delete the selected items?"
48
  msgstr ""
49
 
50
- #: includes/class-yit-assets.php:151 yit-functions.php:1940
51
  #: yit-functions.php:2100
52
  msgid "This action cannot be undone and you will not be able to recover this data."
53
  msgstr ""
54
 
55
- #: includes/class-yit-assets.php:172
56
  msgid "Clear"
57
  msgstr ""
58
 
59
- #: includes/class-yit-assets.php:173
60
  msgid "Clear color"
61
  msgstr ""
62
 
63
- #: includes/class-yit-assets.php:174
64
  msgid "Default"
65
  msgstr ""
66
 
67
- #: includes/class-yit-assets.php:175
68
  msgid "Select default color"
69
  msgstr ""
70
 
71
- #: includes/class-yit-assets.php:176
72
  msgid "Select Color"
73
  msgstr ""
74
 
75
- #: includes/class-yit-assets.php:177
76
  msgid "Color value"
77
  msgstr ""
78
 
@@ -80,7 +80,7 @@ msgstr ""
80
  msgid "There was an error with your request; please try again later."
81
  msgstr ""
82
 
83
- #: includes/class-yit-plugin-panel-woocommerce.php:430
84
  msgid "The changes you have made will be lost if you leave this page."
85
  msgstr ""
86
 
@@ -92,87 +92,103 @@ msgstr ""
92
  msgid "Settings"
93
  msgstr ""
94
 
95
- #: includes/class-yit-plugin-panel.php:455
96
- #: includes/class-yit-plugin-panel.php:458
97
  msgid "How to install premium version"
98
  msgstr ""
99
 
100
- #: includes/class-yit-plugin-panel.php:655
101
  #: includes/class-yit-plugin-subpanel.php:133
102
  msgid "Save Changes"
103
  msgstr ""
104
 
105
- #: includes/class-yit-plugin-panel.php:663
106
  #: includes/class-yit-plugin-subpanel.php:140
107
  #: templates/panel/woocommerce/woocommerce-form.php:15
108
  msgid "If you continue with this action, you will reset all options in this page."
109
  msgstr ""
110
 
111
- #: includes/class-yit-plugin-panel.php:663
112
  #: includes/class-yit-plugin-subpanel.php:140
113
  #: templates/panel/woocommerce/woocommerce-form.php:15
114
  msgid "Are you sure?"
115
  msgstr ""
116
 
117
- #: includes/class-yit-plugin-panel.php:667
118
  #: includes/class-yit-plugin-subpanel.php:143
119
  msgid "Reset to default"
120
  msgstr ""
121
 
122
- #: includes/class-yit-plugin-panel.php:1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  msgid "The element you have entered already exists. Please, enter another name."
124
  msgstr ""
125
 
126
- #: includes/class-yit-plugin-panel.php:1075
127
  msgid "Settings saved"
128
  msgstr ""
129
 
130
- #: includes/class-yit-plugin-panel.php:1076
131
  msgid "Settings reset"
132
  msgstr ""
133
 
134
- #: includes/class-yit-plugin-panel.php:1077
135
  msgid "Element deleted correctly."
136
  msgstr ""
137
 
138
- #: includes/class-yit-plugin-panel.php:1078
139
- #: includes/class-yit-plugin-panel.php:1079
140
  msgid "Element updated correctly."
141
  msgstr ""
142
 
143
- #: includes/class-yit-plugin-panel.php:1080
144
  msgid "Database imported correctly."
145
  msgstr ""
146
 
147
- #: includes/class-yit-plugin-panel.php:1081
148
  msgid "An error has occurred during import. Please try again."
149
  msgstr ""
150
 
151
- #: includes/class-yit-plugin-panel.php:1082
152
  msgid "The added file is not valid."
153
  msgstr ""
154
 
155
- #: includes/class-yit-plugin-panel.php:1083
156
  msgid "Sorry, import is disabled."
157
  msgstr ""
158
 
159
- #: includes/class-yit-plugin-panel.php:1084
160
  msgid "Sorting successful."
161
  msgstr ""
162
 
163
- #: includes/class-yit-plugin-panel.php:1573
164
  msgid "We need your support"
165
  msgstr ""
166
 
167
- #: includes/class-yit-plugin-panel.php:1574
168
  msgid "to keep updating and improving the plugin. Please,"
169
  msgstr ""
170
 
171
- #: includes/class-yit-plugin-panel.php:1576
172
  msgid "help us by leaving a good review"
173
  msgstr ""
174
 
175
- #: includes/class-yit-plugin-panel.php:1577
176
  msgid ":) Thanks!"
177
  msgstr ""
178
 
@@ -524,6 +540,34 @@ msgstr ""
524
  msgid "Reset"
525
  msgstr ""
526
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  #: templates/panel/woocommerce/woocommerce-form.php:29
528
  #: templates/panel/woocommerce/woocommerce-form.php:33
529
  msgid "Save Options"
@@ -701,49 +745,49 @@ msgctxt "[gutenberg]: Category Name"
701
  msgid "YITH"
702
  msgstr ""
703
 
704
- #: includes/class-yit-assets.php:134
705
  msgctxt "Button text"
706
  msgid "Confirm"
707
  msgstr ""
708
 
709
- #: includes/class-yit-assets.php:135
710
  msgctxt "Button text"
711
  msgid "Cancel"
712
  msgstr ""
713
 
714
- #: includes/class-yit-assets.php:148 yit-functions.php:2009
715
  msgctxt "Trash confirmation action"
716
  msgid "Yes, move to trash"
717
  msgstr ""
718
 
719
- #: includes/class-yit-assets.php:152 yit-functions.php:2027
720
  #: yit-functions.php:2154
721
  msgctxt "Delete confirmation action"
722
  msgid "Yes, delete"
723
  msgstr ""
724
 
725
- #: includes/class-yit-plugin-panel.php:803
726
  #. translators: 1. Plugin name.
727
  msgctxt "Help tab default title"
728
  msgid "Thank you for purchasing %s!"
729
  msgstr ""
730
 
731
- #: includes/class-yit-plugin-panel.php:803
732
  msgctxt "Help tab default title"
733
  msgid "Thank you for using %s!"
734
  msgstr ""
735
 
736
- #: includes/class-yit-plugin-panel.php:815
737
  msgctxt "Help tab default description"
738
  msgid "We want to help you enjoy a wonderful experience with all of our products."
739
  msgstr ""
740
 
741
- #: includes/class-yit-plugin-panel.php:866
742
  msgctxt "Premium tab name"
743
  msgid "Get premium"
744
  msgstr ""
745
 
746
- #: includes/class-yit-plugin-panel.php:878
747
  msgctxt "Help tab name"
748
  msgid "Help"
749
  msgstr ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2022-08-10 12:46:35+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
24
  "X-Textdomain-Support: yes\n"
25
  "X-Generator: grunt-wp-i18n 1.0.3\n"
26
 
27
+ #: includes/class-yit-assets.php:148 yit-functions.php:2006
28
  msgid "Confirm trash"
29
  msgstr ""
30
 
31
+ #: includes/class-yit-assets.php:149
32
  msgid "Are you sure you want to trash the selected items?"
33
  msgstr ""
34
 
35
+ #: includes/class-yit-assets.php:151 includes/class-yit-assets.php:155
36
  #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
37
  #: yit-functions.php:2008 yit-functions.php:2026
38
  msgid "No"
39
  msgstr ""
40
 
41
+ #: includes/class-yit-assets.php:152 yit-functions.php:2024
42
  #: yit-functions.php:2152
43
  msgid "Confirm delete"
44
  msgstr ""
45
 
46
+ #: includes/class-yit-assets.php:153
47
  msgid "Are you sure you want to delete the selected items?"
48
  msgstr ""
49
 
50
+ #: includes/class-yit-assets.php:153 yit-functions.php:1940
51
  #: yit-functions.php:2100
52
  msgid "This action cannot be undone and you will not be able to recover this data."
53
  msgstr ""
54
 
55
+ #: includes/class-yit-assets.php:174
56
  msgid "Clear"
57
  msgstr ""
58
 
59
+ #: includes/class-yit-assets.php:175
60
  msgid "Clear color"
61
  msgstr ""
62
 
63
+ #: includes/class-yit-assets.php:176
64
  msgid "Default"
65
  msgstr ""
66
 
67
+ #: includes/class-yit-assets.php:177
68
  msgid "Select default color"
69
  msgstr ""
70
 
71
+ #: includes/class-yit-assets.php:178
72
  msgid "Select Color"
73
  msgstr ""
74
 
75
+ #: includes/class-yit-assets.php:179
76
  msgid "Color value"
77
  msgstr ""
78
 
80
  msgid "There was an error with your request; please try again later."
81
  msgstr ""
82
 
83
+ #: includes/class-yit-plugin-panel-woocommerce.php:437
84
  msgid "The changes you have made will be lost if you leave this page."
85
  msgstr ""
86
 
92
  msgid "Settings"
93
  msgstr ""
94
 
95
+ #: includes/class-yit-plugin-panel.php:456
96
+ #: includes/class-yit-plugin-panel.php:459
97
  msgid "How to install premium version"
98
  msgstr ""
99
 
100
+ #: includes/class-yit-plugin-panel.php:656
101
  #: includes/class-yit-plugin-subpanel.php:133
102
  msgid "Save Changes"
103
  msgstr ""
104
 
105
+ #: includes/class-yit-plugin-panel.php:664
106
  #: includes/class-yit-plugin-subpanel.php:140
107
  #: templates/panel/woocommerce/woocommerce-form.php:15
108
  msgid "If you continue with this action, you will reset all options in this page."
109
  msgstr ""
110
 
111
+ #: includes/class-yit-plugin-panel.php:664
112
  #: includes/class-yit-plugin-subpanel.php:140
113
  #: templates/panel/woocommerce/woocommerce-form.php:15
114
  msgid "Are you sure?"
115
  msgstr ""
116
 
117
+ #: includes/class-yit-plugin-panel.php:668
118
  #: includes/class-yit-plugin-subpanel.php:143
119
  msgid "Reset to default"
120
  msgstr ""
121
 
122
+ #: includes/class-yit-plugin-panel.php:1039
123
+ msgid "Read the <mark>plugin documentation</mark>"
124
+ msgstr ""
125
+
126
+ #: includes/class-yit-plugin-panel.php:1040
127
+ msgid "Learn what you can really do with this powerful tool"
128
+ msgstr ""
129
+
130
+ #: includes/class-yit-plugin-panel.php:1050
131
+ msgid "Watch our <mark>\"First Steps\" video</mark>"
132
+ msgstr ""
133
+
134
+ #: includes/class-yit-plugin-panel.php:1051
135
+ msgid "See how it works before you start using it"
136
+ msgstr ""
137
+
138
+ #: includes/class-yit-plugin-panel.php:1307
139
  msgid "The element you have entered already exists. Please, enter another name."
140
  msgstr ""
141
 
142
+ #: includes/class-yit-plugin-panel.php:1308
143
  msgid "Settings saved"
144
  msgstr ""
145
 
146
+ #: includes/class-yit-plugin-panel.php:1309
147
  msgid "Settings reset"
148
  msgstr ""
149
 
150
+ #: includes/class-yit-plugin-panel.php:1310
151
  msgid "Element deleted correctly."
152
  msgstr ""
153
 
154
+ #: includes/class-yit-plugin-panel.php:1311
155
+ #: includes/class-yit-plugin-panel.php:1312
156
  msgid "Element updated correctly."
157
  msgstr ""
158
 
159
+ #: includes/class-yit-plugin-panel.php:1313
160
  msgid "Database imported correctly."
161
  msgstr ""
162
 
163
+ #: includes/class-yit-plugin-panel.php:1314
164
  msgid "An error has occurred during import. Please try again."
165
  msgstr ""
166
 
167
+ #: includes/class-yit-plugin-panel.php:1315
168
  msgid "The added file is not valid."
169
  msgstr ""
170
 
171
+ #: includes/class-yit-plugin-panel.php:1316
172
  msgid "Sorry, import is disabled."
173
  msgstr ""
174
 
175
+ #: includes/class-yit-plugin-panel.php:1317
176
  msgid "Sorting successful."
177
  msgstr ""
178
 
179
+ #: includes/class-yit-plugin-panel.php:1806
180
  msgid "We need your support"
181
  msgstr ""
182
 
183
+ #: includes/class-yit-plugin-panel.php:1807
184
  msgid "to keep updating and improving the plugin. Please,"
185
  msgstr ""
186
 
187
+ #: includes/class-yit-plugin-panel.php:1809
188
  msgid "help us by leaving a good review"
189
  msgstr ""
190
 
191
+ #: includes/class-yit-plugin-panel.php:1810
192
  msgid ":) Thanks!"
193
  msgstr ""
194
 
540
  msgid "Reset"
541
  msgstr ""
542
 
543
+ #: templates/panel/welcome-modals/update.php:34
544
+ #. translators: %s is the plugin version.
545
+ msgid "is successfully updated to version %s."
546
+ msgstr ""
547
+
548
+ #: templates/panel/welcome-modals/update.php:44
549
+ #. translators: %s is the plugin version.
550
+ msgid "What's new in version %s"
551
+ msgstr ""
552
+
553
+ #: templates/panel/welcome-modals/update.php:49
554
+ msgid "Check the changelog >"
555
+ msgstr ""
556
+
557
+ #: templates/panel/welcome-modals/update.php:64
558
+ #: templates/panel/welcome-modals/welcome.php:60
559
+ msgid "Got it, close this window"
560
+ msgstr ""
561
+
562
+ #: templates/panel/welcome-modals/welcome.php:30
563
+ msgid "Thank you for using our plugin"
564
+ msgstr ""
565
+
566
+ #: templates/panel/welcome-modals/welcome.php:45
567
+ #. translators: %s is the number of steps.
568
+ msgid "Start with these %s steps:"
569
+ msgstr ""
570
+
571
  #: templates/panel/woocommerce/woocommerce-form.php:29
572
  #: templates/panel/woocommerce/woocommerce-form.php:33
573
  msgid "Save Options"
745
  msgid "YITH"
746
  msgstr ""
747
 
748
+ #: includes/class-yit-assets.php:136
749
  msgctxt "Button text"
750
  msgid "Confirm"
751
  msgstr ""
752
 
753
+ #: includes/class-yit-assets.php:137
754
  msgctxt "Button text"
755
  msgid "Cancel"
756
  msgstr ""
757
 
758
+ #: includes/class-yit-assets.php:150 yit-functions.php:2009
759
  msgctxt "Trash confirmation action"
760
  msgid "Yes, move to trash"
761
  msgstr ""
762
 
763
+ #: includes/class-yit-assets.php:154 yit-functions.php:2027
764
  #: yit-functions.php:2154
765
  msgctxt "Delete confirmation action"
766
  msgid "Yes, delete"
767
  msgstr ""
768
 
769
+ #: includes/class-yit-plugin-panel.php:804
770
  #. translators: 1. Plugin name.
771
  msgctxt "Help tab default title"
772
  msgid "Thank you for purchasing %s!"
773
  msgstr ""
774
 
775
+ #: includes/class-yit-plugin-panel.php:804
776
  msgctxt "Help tab default title"
777
  msgid "Thank you for using %s!"
778
  msgstr ""
779
 
780
+ #: includes/class-yit-plugin-panel.php:812
781
  msgctxt "Help tab default description"
782
  msgid "We want to help you enjoy a wonderful experience with all of our products."
783
  msgstr ""
784
 
785
+ #: includes/class-yit-plugin-panel.php:863
786
  msgctxt "Premium tab name"
787
  msgid "Get premium"
788
  msgstr ""
789
 
790
+ #: includes/class-yit-plugin-panel.php:875
791
  msgctxt "Help tab name"
792
  msgid "Help"
793
  msgstr ""
plugin-fw/phpcs.xml CHANGED
@@ -52,4 +52,10 @@
52
  <property name="customEscapingFunctions" type="array" value="wc_help_tip,wc_sanitize_tooltip,wc_selected,wc_kses_notice,wc_esc_json,wc_query_string_form_fields,wc_make_phone_clickable,yith_plugin_fw_html_data_to_string,yith_field_deps_data,yith_panel_field_deps_data,yith_plugin_fw_html_attributes_to_string"/>
53
  </properties>
54
  </rule>
 
 
 
 
 
 
55
  </ruleset>
52
  <property name="customEscapingFunctions" type="array" value="wc_help_tip,wc_sanitize_tooltip,wc_selected,wc_kses_notice,wc_esc_json,wc_query_string_form_fields,wc_make_phone_clickable,yith_plugin_fw_html_data_to_string,yith_field_deps_data,yith_panel_field_deps_data,yith_plugin_fw_html_attributes_to_string"/>
53
  </properties>
54
  </rule>
55
+
56
+ <rule ref="WordPress.Arrays.MultipleStatementAlignment">
57
+ <properties>
58
+ <property name="maxColumn" value="200"/>
59
+ </properties>
60
+ </rule>
61
  </ruleset>
plugin-fw/templates/components/list-items.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Template for displaying the list-items component
4
+ *
5
+ * @var array $component The component.
6
+ * @package YITH\PluginFramework\Templates\Components
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
10
+
11
+ list ( $component_id, $class, $the_title, $attributes, $data, $items, $variant ) = yith_plugin_fw_extract( $component, 'id', 'class', 'title', 'attributes', 'data', 'items', 'variant' );
12
+
13
+ $variant = sanitize_key( $variant ?? 'list' );
14
+ $classes = array(
15
+ 'yith-plugin-fw__list-items',
16
+ "yith-plugin-fw__list-items--{$variant}",
17
+ $class,
18
+ );
19
+ $classes = implode( ' ', $classes );
20
+ $current_locale = substr( get_user_locale(), 0, 2 );
21
+ $loop = 1;
22
+ ?>
23
+ <ul
24
+ id="<?php echo esc_attr( $component_id ); ?>"
25
+ class="<?php echo esc_attr( $classes ); ?>"
26
+ <?php echo yith_plugin_fw_html_attributes_to_string( $attributes ); ?>
27
+ <?php echo yith_plugin_fw_html_data_to_string( $data ); ?>
28
+ >
29
+
30
+ <?php foreach ( $items as $item ) : ?>
31
+ <?php
32
+ $item_url = $item['url'] ?? '';
33
+ $item_title = $item['title'] ?? '';
34
+ $item_description = $item['description'] ?? '';
35
+ $item_cta = $item['cta'] ?? '';
36
+ $item_classes = array( 'yith-plugin-fw__list-item' );
37
+
38
+ if ( is_array( $item_url ) ) {
39
+ $item_url = $item_url[ $current_locale ] ?? $item_url['en'] ?? current( $item_url );
40
+ }
41
+
42
+ if ( ! $item_url ) {
43
+ $item_classes[] = 'yith-plugin-fw__list-item--no-link';
44
+ }
45
+
46
+ $item_classes = implode( ' ', $item_classes );
47
+ ?>
48
+ <li class="<?php echo esc_attr( $item_classes ); ?>">
49
+ <a
50
+ class="yith-plugin-fw__list-item__wrap"
51
+ target="_blank"
52
+ <?php if ( $item_url ) : ?>
53
+ href="<?php echo esc_url( $item_url ); ?>"
54
+ <?php endif; ?>
55
+ >
56
+ <?php if ( 'steps' === $variant ) : ?>
57
+ <div class="yith-plugin-fw__list-item__step">
58
+ <?php echo esc_html( $loop ); ?>
59
+ </div>
60
+ <?php endif; ?>
61
+ <div class="yith-plugin-fw__list-item__content">
62
+ <div class="yith-plugin-fw__list-item__title">
63
+ <?php echo wp_kses_post( $item_title ); ?>
64
+ </div>
65
+ <div class="yith-plugin-fw__list-item__description">
66
+ <?php echo wp_kses_post( $item_description ); ?>
67
+ </div>
68
+ <?php if ( $item_cta ) : ?>
69
+ <div class="yith-plugin-fw__list-item__cta">
70
+ <?php echo esc_html( $item_cta ); ?>
71
+ </div>
72
+ <?php endif; ?>
73
+ </div>
74
+
75
+ <?php if ( $item_url && ! $item_cta ) : ?>
76
+ <i class="yith-plugin-fw__list-item__arrow yith-icon yith-icon-arrow-right-alt"></i>
77
+ <?php endif; ?>
78
+ </a>
79
+ </li>
80
+
81
+ <?php $loop ++; ?>
82
+ <?php endforeach; ?>
83
+ </ul>
plugin-fw/templates/panel/welcome-modals/update.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * "Update" modal view.
4
+ *
5
+ * @var array $plugin The plugin info.
6
+ * @var array $modal The modal info.
7
+ * @var string $close_url The URL for closing the modal.
8
+ *
9
+ * @package YITH\PluginFramework
10
+ */
11
+
12
+ defined( 'ABSPATH' ) || exit;
13
+
14
+ $classes = array(
15
+ 'yith-plugin-fw-welcome',
16
+ 'yith-plugin-fw-welcome--update',
17
+ );
18
+ $classes = implode( ' ', $classes );
19
+
20
+ $description = $modal['description'] ?? '';
21
+ $items = $modal['items'] ?? array();
22
+
23
+ ?>
24
+ <div class="<?php echo esc_attr( $classes ); ?>">
25
+ <div class="yith-plugin-fw-welcome__head">
26
+ <?php if ( $plugin['icon'] ) : ?>
27
+ <img class="yith-plugin-fw-welcome__icon" src="<?php echo esc_url( $plugin['icon'] ); ?>"/>
28
+ <?php endif; ?>
29
+ <div class="yith-plugin-fw-welcome__title">
30
+ <div class="yith-plugin-fw-welcome__title__plugin-name"><?php echo esc_html( $plugin['name'] ); ?></div>
31
+ <div>
32
+ <?php
33
+ // translators: %s is the plugin version.
34
+ echo esc_html( sprintf( __( 'is successfully updated to version %s.', 'yith-plugin-fw' ), $plugin['version'] ) );
35
+ ?>
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+ <div class="yith-plugin-fw-welcome__list-head">
41
+ <div class="yith-plugin-fw-welcome__list-head__title">
42
+ <?php
43
+ // translators: %s is the plugin version.
44
+ echo esc_html( sprintf( __( 'What\'s new in version %s', 'yith-plugin-fw' ), $modal['since'] ?? $plugin['version'] ) );
45
+ ?>
46
+ </div>
47
+ <?php if ( isset( $modal['changelog_url'] ) ) : ?>
48
+ <a class="yith-plugin-fw-welcome__list-head__changelog" target="_blank" href="<?php echo esc_url( $modal['changelog_url'] ); ?>">
49
+ <?php esc_html_e( 'Check the changelog >', 'yith-plugin-fw' ); ?>
50
+ </a>
51
+ <?php endif; ?>
52
+ </div>
53
+ <?php
54
+ yith_plugin_fw_get_component(
55
+ array(
56
+ 'type' => 'list-items',
57
+ 'variant' => 'list',
58
+ 'items' => $items,
59
+ )
60
+ );
61
+ ?>
62
+
63
+ <div class="yith-plugin-fw-welcome__footer">
64
+ <a class="yith-plugin-fw-welcome__close" href="<?php echo esc_url( $close_url ); ?>"><?php esc_html_e( 'Got it, close this window', 'yith-plugin-fw' ); ?></a>
65
+ </div>
66
+ </div>
plugin-fw/templates/panel/welcome-modals/welcome.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * "Welcome" modal view.
4
+ *
5
+ * @var array $plugin The plugin info.
6
+ * @var array $modal The modal info.
7
+ * @var string $close_url The URL for closing the modal.
8
+ *
9
+ * @package YITH\PluginFramework
10
+ */
11
+
12
+ defined( 'ABSPATH' ) || exit;
13
+
14
+ $classes = array(
15
+ 'yith-plugin-fw-welcome',
16
+ 'yith-plugin-fw-welcome--welcome',
17
+ );
18
+ $classes = implode( ' ', $classes );
19
+
20
+ $description = $modal['description'] ?? '';
21
+ $items = $modal['items'] ?? array();
22
+ ?>
23
+ <div class="<?php echo esc_attr( $classes ); ?>">
24
+ <div class="yith-plugin-fw-welcome__head">
25
+ <?php if ( $plugin['icon'] ) : ?>
26
+ <img class="yith-plugin-fw-welcome__icon" src="<?php echo esc_url( $plugin['icon'] ); ?>"/>
27
+ <?php endif; ?>
28
+
29
+ <div class="yith-plugin-fw-welcome__title">
30
+ <div><?php esc_html_e( 'Thank you for using our plugin', 'yith-plugin-fw' ); ?></div>
31
+ <div class="yith-plugin-fw-welcome__title__plugin-name"><?php echo esc_html( $plugin['name'] ); ?></div>
32
+ </div>
33
+
34
+ <?php if ( $description ) : ?>
35
+ <div class="yith-plugin-fw-welcome__description">
36
+ <?php echo wp_kses_post( $description ); ?>
37
+ </div>
38
+ <?php endif; ?>
39
+ </div>
40
+
41
+ <div class="yith-plugin-fw-welcome__list-head">
42
+ <div class="yith-plugin-fw-welcome__list-head__title">
43
+ <?php
44
+ // translators: %s is the number of steps.
45
+ echo esc_html( sprintf( __( 'Start with these %s steps:', 'yith-plugin-fw' ), count( $items ) ) );
46
+ ?>
47
+ </div>
48
+ </div>
49
+ <?php
50
+ yith_plugin_fw_get_component(
51
+ array(
52
+ 'type' => 'list-items',
53
+ 'variant' => 'steps',
54
+ 'items' => $items,
55
+ )
56
+ );
57
+ ?>
58
+
59
+ <div class="yith-plugin-fw-welcome__footer">
60
+ <a class="yith-plugin-fw-welcome__close" href="<?php echo esc_url( $close_url ); ?>"><?php esc_html_e( 'Got it, close this window', 'yith-plugin-fw' ); ?></a>
61
+ </div>
62
+ </div>
plugin-fw/tests/bootstrap.php DELETED
@@ -1,167 +0,0 @@
1
- <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
- /**
3
- * PHPUnit bootstrap file.
4
- *
5
- * @package YITH Plugin Framework
6
- */
7
-
8
- /**
9
- * YITH_Plugin_FW_Unit_Tests_Bootstrap class
10
- */
11
- class YITH_Plugin_FW_Unit_Tests_Bootstrap {
12
- /**
13
- * Instance of the class
14
- *
15
- * @var YITH_Plugin_FW_Unit_Tests_Bootstrap
16
- */
17
- protected static $instance = null;
18
-
19
- /**
20
- * Directory where wordpress-tests-lib is installed.
21
- *
22
- * @var string
23
- */
24
- public $wp_tests_dir;
25
-
26
- /**
27
- * Testing directory
28
- *
29
- * @var string
30
- */
31
- public $tests_dir;
32
-
33
- /**
34
- * The plugin directory.
35
- *
36
- * @var string
37
- */
38
- public $plugin_dir;
39
-
40
- /**
41
- * WooCommerce directory.
42
- *
43
- * @var string
44
- */
45
- public $woocommerce_dir;
46
-
47
- /**
48
- * Singleton implementation
49
- *
50
- * @return YITH_Plugin_FW_Unit_Tests_Bootstrap
51
- */
52
- public static function instance() {
53
- return ! is_null( self::$instance ) ? self::$instance : self::$instance = new self();
54
- }
55
-
56
- /**
57
- * Setup the unit testing environment.
58
- */
59
- protected function __construct() {
60
-
61
- ini_set( 'display_errors', 'on' );
62
- error_reporting( E_ALL );
63
-
64
- // Ensure server variable is set for WP email functions.
65
- if ( ! isset( $_SERVER['SERVER_NAME'] ) ) {
66
- $_SERVER['SERVER_NAME'] = 'localhost';
67
- }
68
-
69
- $this->tests_dir = dirname( __FILE__ );
70
- $this->plugin_dir = dirname( $this->tests_dir, 2 );
71
- $this->woocommerce_dir = dirname( $this->plugin_dir ) . '/woocommerce';
72
- $this->wp_tests_dir = getenv( 'WP_TESTS_DIR' ) ? getenv( 'WP_TESTS_DIR' ) : ( rtrim( sys_get_temp_dir(), '/\\' ) . '/wordpress-tests-lib' );
73
-
74
- define( 'YITH_PLUGIN_FRAMEWORK_TESTS_DIR', $this->tests_dir );
75
-
76
- if ( ! file_exists( $this->wp_tests_dir . '/includes/functions.php' ) ) {
77
- $this->message( "Could not find {$this->wp_tests_dir}/includes/functions.php, have you run [npm run env:install] ?" );
78
- exit( 1 );
79
- }
80
-
81
- require_once $this->wp_tests_dir . '/includes/functions.php';
82
-
83
- // load plugins.
84
- tests_add_filter( 'muplugins_loaded', array( $this, 'load_plugins' ) );
85
- tests_add_filter( 'setup_theme', array( $this, 'install_wc' ) );
86
- tests_add_filter( 'setup_theme', array( $this, 'show_info' ), 20 );
87
-
88
- // load the WP testing environment.
89
- require_once $this->wp_tests_dir . '/includes/bootstrap.php';
90
-
91
- // load testing framework.
92
- $this->includes();
93
- }
94
-
95
- /**
96
- * Load plugins
97
- *
98
- * @return void
99
- */
100
- public function load_plugins() {
101
- require_once $this->woocommerce_dir . '/woocommerce.php';
102
- require_once $this->plugin_dir . '/yith-plugin-fw-loader.php';
103
- }
104
-
105
- /**
106
- * Install WooCommerce
107
- *
108
- * @return void
109
- */
110
- public function install_wc() {
111
- // Clean existing install first.
112
- define( 'WP_UNINSTALL_PLUGIN', true );
113
- define( 'WC_REMOVE_ALL_DATA', true );
114
- include $this->woocommerce_dir . '/uninstall.php';
115
-
116
- WC_Install::install();
117
-
118
- // Reload capabilities after install, see https://core.trac.wordpress.org/ticket/28374.
119
- if ( version_compare( $GLOBALS['wp_version'], '4.7', '<' ) ) {
120
- $GLOBALS['wp_roles']->reinit();
121
- } else {
122
- $GLOBALS['wp_roles'] = null;
123
- wp_roles();
124
- }
125
-
126
- $this->message( 'Installing WooCommerce...' );
127
- }
128
-
129
- /**
130
- * Include files
131
- *
132
- * @return void
133
- */
134
- public function includes() {
135
- $helpers_dir = YITH_PLUGIN_FRAMEWORK_TESTS_DIR . '/framework/helpers';
136
-
137
- require_once $helpers_dir . '/class-yith-plugin-fw-panels-helper.php';
138
- }
139
-
140
- /**
141
- * Print a message
142
- *
143
- * @param string $message The message to be shown.
144
- * @return void
145
- */
146
- public function message( $message ) {
147
- echo $message . PHP_EOL; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
148
- }
149
-
150
- /**
151
- * Show installation information
152
- *
153
- * @return void
154
- */
155
- public function show_info() {
156
- $this->message( '' );
157
- $this->message( 'I N S T A L L A T I O N I N F O :' );
158
- $this->message( '> WP Version: ' . get_bloginfo( 'version', 'display' ) );
159
- $this->message( '> WC Version: ' . get_plugin_data( $this->woocommerce_dir . '/woocommerce.php' )['Version'] );
160
- $this->message( '> Plugin Dir: ' . $this->plugin_dir );
161
- $this->message( '> ABSPATH: ' . ( defined( 'ABSPATH' ) ? ABSPATH : 'not defined!' ) );
162
- $this->message( '' );
163
- }
164
-
165
- }
166
-
167
- YITH_Plugin_FW_Unit_Tests_Bootstrap::instance();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tests/framework/fixtures/panel-all-options.php DELETED
@@ -1,240 +0,0 @@
1
- <?php
2
- /**
3
- * Options for YITH Plugin Panel WooCommerce
4
- *
5
- * @package YITH Plugin Framework
6
- */
7
-
8
- return array(
9
- 'ajax-customers' => array(
10
- 'type' => 'ajax-customers',
11
- 'value' => 1,
12
- 'php_unit_expected' => 1,
13
- ),
14
-
15
- 'ajax-customers-multiple' => array(
16
- 'type' => 'ajax-customers',
17
- 'multiple' => true,
18
- 'value' => array( 1, 2, 3 ),
19
- 'php_unit_expected' => array( 1, 2, 3 ),
20
- ),
21
-
22
- 'ajax-posts' => array(
23
- 'type' => 'ajax-posts',
24
- 'value' => 1,
25
- 'php_unit_expected' => 1,
26
- ),
27
-
28
- 'ajax-posts-multiple' => array(
29
- 'type' => 'ajax-posts',
30
- 'multiple' => true,
31
- 'value' => array( 1, 2, 3 ),
32
- 'php_unit_expected' => array( 1, 2, 3 ),
33
- ),
34
-
35
- 'ajax-products' => array(
36
- 'type' => 'ajax-products',
37
- 'value' => 1,
38
- 'php_unit_expected' => 1,
39
- ),
40
-
41
- 'ajax-products-multiple' => array(
42
- 'type' => 'ajax-products',
43
- 'multiple' => true,
44
- 'value' => array( 1, 2, 3 ),
45
- 'php_unit_expected' => array( 1, 2, 3 ),
46
- ),
47
-
48
- 'ajax-terms' => array(
49
- 'type' => 'ajax-terms',
50
- 'value' => 1,
51
- 'php_unit_expected' => 1,
52
- ),
53
-
54
- 'ajax-terms-multiple' => array(
55
- 'type' => 'ajax-terms',
56
- 'multiple' => true,
57
- 'value' => array( 1, 2, 3 ),
58
- 'php_unit_expected' => array( 1, 2, 3 ),
59
- ),
60
-
61
- 'checkbox' => array(
62
- 'type' => 'checkbox',
63
- 'value' => 1,
64
- 'php_unit_expected' => 'yes',
65
- ),
66
-
67
- 'checkbox-off' => array(
68
- 'type' => 'checkbox',
69
- 'value' => 0,
70
- 'php_unit_expected' => 'no',
71
- ),
72
-
73
- 'checkbox-array' => array(
74
- 'type' => 'checkbox-array',
75
- 'value' => array( 'one', 'two', 'three' ),
76
- 'php_unit_expected' => array( 'one', 'two', 'three' ),
77
- ),
78
-
79
- 'colorpicker' => array(
80
- 'type' => 'colorpicker',
81
- 'value' => '#123456',
82
- 'php_unit_expected' => '#123456',
83
- ),
84
-
85
- 'country-select' => array(
86
- 'type' => 'country-select',
87
- 'value' => 'US:NY',
88
- 'php_unit_expected' => 'US:NY',
89
- ),
90
-
91
- 'date-format' => array(
92
- 'type' => 'date-format',
93
- 'value' => 'Y-m-d',
94
- 'php_unit_expected' => 'Y-m-d',
95
- ),
96
-
97
- 'datepicker' => array(
98
- 'type' => 'datepicker',
99
- 'value' => '2020-12-25',
100
- 'php_unit_expected' => '2020-12-25',
101
- ),
102
-
103
- 'dimensions' => array(
104
- 'type' => 'dimensions',
105
- 'value' => array(
106
- 'unit' => 'px',
107
- 'dimensions' => array(
108
- 'top' => 10,
109
- 'right' => 20,
110
- 'bottom' => 10,
111
- 'left' => 20,
112
- ),
113
- 'linked' => 'yes',
114
- ),
115
- 'php_unit_expected' => array(
116
- 'unit' => 'px',
117
- 'dimensions' => array(
118
- 'top' => 10,
119
- 'right' => 20,
120
- 'bottom' => 10,
121
- 'left' => 20,
122
- ),
123
- 'linked' => 'yes',
124
- ),
125
- ),
126
-
127
- 'hidden' => array(
128
- 'type' => 'hidden',
129
- 'value' => 'This is a dummy test!',
130
- 'php_unit_expected' => 'This is a dummy test!',
131
- ),
132
-
133
- 'icons' => array(
134
- 'type' => 'icons',
135
- 'value' => 'FontAwesome:music',
136
- 'php_unit_expected' => 'FontAwesome:music',
137
- ),
138
-
139
- 'image-gallery' => array(
140
- 'type' => 'image-gallery',
141
- 'value' => '1,2,3',
142
- 'php_unit_expected' => '1,2,3',
143
- ),
144
-
145
- 'multi-colorpicker' => array(
146
- 'type' => 'multi-colorpicker',
147
- 'value' => array( '#ffffff', '#000000' ),
148
- 'php_unit_expected' => array( '#ffffff', '#000000' ),
149
- ),
150
-
151
- 'multi-select' => array(
152
- 'type' => 'multi-select',
153
- 'value' => array( 'one', 'two' ),
154
- 'php_unit_expected' => array( 'one', 'two' ),
155
- ),
156
-
157
- 'number' => array(
158
- 'type' => 'number',
159
- 'value' => 10,
160
- 'php_unit_expected' => 10,
161
- ),
162
-
163
- 'onoff' => array(
164
- 'type' => 'onoff',
165
- 'value' => 1,
166
- 'php_unit_expected' => 'yes',
167
- ),
168
-
169
- 'onoff-off' => array(
170
- 'type' => 'onoff',
171
- 'value' => 0,
172
- 'php_unit_expected' => 'no',
173
- ),
174
-
175
- 'password' => array(
176
- 'type' => 'password',
177
- 'value' => 'password',
178
- 'php_unit_expected' => 'password',
179
- ),
180
-
181
- 'radio' => array(
182
- 'type' => 'radio',
183
- 'value' => 'one',
184
- 'php_unit_expected' => 'one',
185
- ),
186
-
187
- 'select' => array(
188
- 'type' => 'select',
189
- 'value' => 'one',
190
- 'php_unit_expected' => 'one',
191
- ),
192
-
193
- 'select-images' => array(
194
- 'type' => 'select-images',
195
- 'value' => 'one',
196
- 'php_unit_expected' => 'one',
197
- ),
198
-
199
- 'slider' => array(
200
- 'type' => 'slider',
201
- 'value' => 50,
202
- 'php_unit_expected' => 50,
203
- ),
204
-
205
- 'text' => array(
206
- 'type' => 'text',
207
- 'value' => 'This is a dummy test!',
208
- 'php_unit_expected' => 'This is a dummy test!',
209
- ),
210
-
211
- 'text-array' => array(
212
- 'type' => 'text-array',
213
- 'value' => array('one', 'two', "Let's testing quotes and double quotes \""),
214
- 'php_unit_expected' => array('one', 'two', "Let's testing quotes and double quotes \""),
215
- ),
216
-
217
- 'textarea' => array(
218
- 'type' => 'textarea',
219
- 'value' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
220
- 'php_unit_expected' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
221
- ),
222
-
223
- 'textarea-codemirror' => array(
224
- 'type' => 'textarea-codemirror',
225
- 'value' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
226
- 'php_unit_expected' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
227
- ),
228
-
229
- 'textarea-editor' => array(
230
- 'type' => 'textarea-editor',
231
- 'value' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
232
- 'php_unit_expected' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
233
- ),
234
-
235
- 'upload' => array(
236
- 'type' => 'upload',
237
- 'value' => 'http://example.com/image.jpg',
238
- 'php_unit_expected' => 'http://example.com/image.jpg',
239
- ),
240
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tests/framework/helpers/class-yith-plugin-fw-panels-helper.php DELETED
@@ -1,83 +0,0 @@
1
- <?php
2
- /**
3
- * Plugin Panels Helper
4
- *
5
- * @package YITH Plugin Framework
6
- */
7
-
8
- /**
9
- * Plugin Panels Helper class.
10
- */
11
- class YITH_Plugin_FW_Panels_Helper {
12
-
13
- /**
14
- * The WooCommerce Panel page.
15
- *
16
- * @var string
17
- */
18
- public static $wc_panel_page = 'yith_plugin_fw_test_wc_panel';
19
-
20
- /**
21
- * Create WC Panel
22
- *
23
- * @return YIT_Plugin_Panel_WooCommerce
24
- */
25
- public static function create_wc_panel() {
26
-
27
- $admin_tabs = array(
28
- 'wc-panel' => 'WooCommerce Panel',
29
- );
30
-
31
- $args = array(
32
- 'create_menu_page' => true,
33
- 'parent_slug' => '',
34
- 'page_title' => 'WooCommerce Panel',
35
- 'menu_title' => 'WooCommerce Panel',
36
- 'capability' => 'manage_options',
37
- 'parent' => '',
38
- 'parent_page' => 'yit_plugin_panel',
39
- 'page' => self::$wc_panel_page,
40
- 'admin-tabs' => $admin_tabs,
41
- 'options-path' => YITH_PLUGIN_FRAMEWORK_TESTS_DIR . '/framework/plugin-options',
42
- );
43
-
44
- return new YIT_Plugin_Panel_WooCommerce( $args );
45
- }
46
-
47
- public static function init_vars_wc_panel_options_for_saving( $panel, $tab, $subtab = '' ) {
48
-
49
- set_current_screen( 'yith-plugins_page_' . $panel->settings['page'] );
50
- $_POST = array();
51
- $_GET = array();
52
-
53
- $_GET['page'] = $panel->settings['page'];
54
- $_GET['tab'] = $tab;
55
- $_GET['sub_tab'] = $subtab;
56
- $_POST['yit_panel_wc_options_nonce'] = wp_create_nonce( 'yit_panel_wc_options_' . $panel->settings['page'] );
57
-
58
- $prefix = $tab . '-';
59
-
60
- $options = self::get_fixture( 'all-options' );
61
- $new_options = array();
62
-
63
- foreach ( $options as $key => $option ) {
64
- $prefixed_key = $prefix . $key;
65
- $value = $option['value'];
66
- $_POST[ $prefixed_key ] = $value;
67
-
68
- $new_options[ $prefixed_key ] = $option;
69
- }
70
-
71
- return $new_options;
72
- }
73
-
74
- /**
75
- * Get a fixture
76
- *
77
- * @param string $fixture The fixture.
78
- * @return array
79
- */
80
- public static function get_fixture( $fixture ) {
81
- return include YITH_PLUGIN_FRAMEWORK_TESTS_DIR . '/framework/fixtures/panel-' . $fixture . '.php';
82
- }
83
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tests/framework/plugin-options/wc-panel-options.php DELETED
@@ -1,43 +0,0 @@
1
- <?php // phpcs:disable WordPress.WP.GlobalVariablesOverride.Prohibited
2
- /**
3
- * Options for YITH Plugin Panel WooCommerce
4
- *
5
- * @package YITH Plugin Framework
6
- */
7
-
8
- $prefix = str_replace( '-options.php', '', basename( __FILE__ ) ) . '-';
9
- $options = YITH_Plugin_FW_Panels_Helper::get_fixture( 'all-options' );
10
- $fields = array();
11
-
12
- $fields[ $prefix . 'general-options' ] = array(
13
- 'title' => 'General',
14
- 'type' => 'title',
15
- 'id' => 'general-options',
16
- );
17
-
18
- foreach ( $options as $key => $values ) {
19
- $type = $values['type'];
20
- $prefixed_key = $prefix . $key;
21
-
22
- $id_title = array(
23
- 'id' => $prefixed_key,
24
- 'title' => $prefixed_key,
25
- );
26
-
27
- $fields[ $prefixed_key ] = wp_parse_args( $values, $id_title );
28
- $fields[ $prefixed_key ]['type'] = 'yith-field';
29
- $fields[ $prefixed_key ]['yith-type'] = $type;
30
- if ( isset( $fields[ $prefixed_key ]['value'] ) ) {
31
- unset( $fields[ $prefixed_key ]['value'] );
32
- }
33
- }
34
-
35
-
36
- $fields[ $prefix . 'general-options-end' ] = array(
37
- 'type' => 'sectionend',
38
- 'id' => 'general-options',
39
- );
40
-
41
- return array(
42
- 'wc-panel' => $fields,
43
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tests/unit-tests/class-yith-plugin-fw-tests-plugin-panel-wc.php DELETED
@@ -1,49 +0,0 @@
1
- <?php
2
- /**
3
- * Test class for Plugin Panel WooCommerce
4
- *
5
- * @package YITH Plugin Framework
6
- */
7
-
8
- /**
9
- * Class YITH_Plugin_FW_Tests_Plugin_Panel_WC
10
- */
11
- class YITH_Plugin_FW_Tests_Plugin_Panel_WC extends WP_UnitTestCase {
12
-
13
- /**
14
- * The panel.
15
- *
16
- * @var YIT_Plugin_Panel_WooCommerce
17
- */
18
- protected $panel;
19
-
20
- /**
21
- * Set Up
22
- *
23
- * @return void
24
- */
25
- public function setUp() {
26
- $this->panel = YITH_Plugin_FW_Panels_Helper::create_wc_panel();
27
-
28
- // Include admin functions to use woocommerce_update_options().
29
- include_once WC_ABSPATH . '/includes/admin/wc-admin-functions.php';
30
- }
31
-
32
- /**
33
- * Test simple tab with options.
34
- */
35
- public function test_simple_tab() {
36
- $options = YITH_Plugin_FW_Panels_Helper::init_vars_wc_panel_options_for_saving( $this->panel, 'wc-panel' );
37
-
38
- $this->panel->woocommerce_update_options();
39
-
40
- foreach ( $options as $key => $option ) {
41
- $value = get_option( $key );
42
- $expected = $option['php_unit_expected'];
43
- $message = sprintf( 'Test for %s [type: %s]', $key, $option['type'] );
44
-
45
- $this->assertEquals( $expected, $value, $message );
46
- }
47
-
48
- }
49
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tools/local-env/docker/phpunit/Dockerfile DELETED
@@ -1,12 +0,0 @@
1
- FROM phpunit/phpunit:latest
2
-
3
- RUN apk update && \
4
- apk add --no-cache sqlite bash mariadb-client php7-mysqli subversion wget
5
-
6
- RUN apk upgrade subversion
7
-
8
- ENTRYPOINT []
9
-
10
- WORKDIR /var/www/html/wp-content/plugins/yith-plugin-fw-loader/plugin-fw
11
-
12
- CMD /bin/true
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tools/local-env/install-wp-tests.sh DELETED
@@ -1,154 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- if [ $# -lt 3 ]; then
4
- echo "usage: $0 <db-name> <db-user> <db-pass> [db-host] [wp-version] [skip-database-creation]"
5
- exit 1
6
- fi
7
-
8
-
9
- echo "INSTALLING...";
10
- DB_NAME=$1
11
- DB_USER=$2
12
- DB_PASS=$3
13
- DB_HOST=${4-localhost}
14
- WP_VERSION=${5-latest}
15
- SKIP_DB_CREATE=${6-false}
16
-
17
- TMPDIR=${TMPDIR-/tmp}
18
- TMPDIR=$(echo $TMPDIR | sed -e "s/\/$//")
19
- WP_TESTS_DIR=${WP_TESTS_DIR-$TMPDIR/wordpress-tests-lib}
20
- WP_CORE_DIR=${WP_CORE_DIR-$TMPDIR/wordpress/}
21
-
22
- download() {
23
- if [ `which curl` ]; then
24
- curl -s "$1" > "$2";
25
- elif [ `which wget` ]; then
26
- wget -nv -O "$2" "$1"
27
- fi
28
- }
29
-
30
- if [[ $WP_VERSION =~ ^[0-9]+\.[0-9]+$ ]]; then
31
- WP_TESTS_TAG="branches/$WP_VERSION"
32
- elif [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then
33
- if [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0] ]]; then
34
- # version x.x.0 means the first release of the major version, so strip off the .0 and download version x.x
35
- WP_TESTS_TAG="tags/${WP_VERSION%??}"
36
- else
37
- WP_TESTS_TAG="tags/$WP_VERSION"
38
- fi
39
- elif [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then
40
- WP_TESTS_TAG="trunk"
41
- else
42
- # http serves a single offer, whereas https serves multiple. we only want one
43
- download http://api.wordpress.org/core/version-check/1.7/ /tmp/wp-latest.json
44
- grep '[0-9]+\.[0-9]+(\.[0-9]+)?' /tmp/wp-latest.json
45
- LATEST_VERSION=$(grep -o '"version":"[^"]*' /tmp/wp-latest.json | sed 's/"version":"//')
46
- if [[ -z "$LATEST_VERSION" ]]; then
47
- echo "Latest WordPress version could not be found"
48
- exit 1
49
- fi
50
- WP_TESTS_TAG="tags/$LATEST_VERSION"
51
- fi
52
-
53
- set -ex
54
-
55
- install_wp() {
56
-
57
- if [ -d $WP_CORE_DIR ]; then
58
- return;
59
- fi
60
-
61
- mkdir -p $WP_CORE_DIR
62
-
63
- if [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then
64
- mkdir -p $TMPDIR/wordpress-nightly
65
- download https://wordpress.org/nightly-builds/wordpress-latest.zip $TMPDIR/wordpress-nightly/wordpress-nightly.zip
66
- unzip -q $TMPDIR/wordpress-nightly/wordpress-nightly.zip -d $TMPDIR/wordpress-nightly/
67
- mv $TMPDIR/wordpress-nightly/wordpress/* $WP_CORE_DIR
68
- else
69
- if [ $WP_VERSION == 'latest' ]; then
70
- local ARCHIVE_NAME='latest'
71
- elif [[ $WP_VERSION =~ [0-9]+\.[0-9]+ ]]; then
72
- # https serves multiple offers, whereas http serves single.
73
- download https://api.wordpress.org/core/version-check/1.7/ $TMPDIR/wp-latest.json
74
- if [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0] ]]; then
75
- # version x.x.0 means the first release of the major version, so strip off the .0 and download version x.x
76
- LATEST_VERSION=${WP_VERSION%??}
77
- else
78
- # otherwise, scan the releases and get the most up to date minor version of the major release
79
- local VERSION_ESCAPED=`echo $WP_VERSION | sed 's/\./\\\\./g'`
80
- LATEST_VERSION=$(grep -o '"version":"'$VERSION_ESCAPED'[^"]*' $TMPDIR/wp-latest.json | sed 's/"version":"//' | head -1)
81
- fi
82
- if [[ -z "$LATEST_VERSION" ]]; then
83
- local ARCHIVE_NAME="wordpress-$WP_VERSION"
84
- else
85
- local ARCHIVE_NAME="wordpress-$LATEST_VERSION"
86
- fi
87
- else
88
- local ARCHIVE_NAME="wordpress-$WP_VERSION"
89
- fi
90
- download https://wordpress.org/${ARCHIVE_NAME}.tar.gz $TMPDIR/wordpress.tar.gz
91
- tar --strip-components=1 -zxmf $TMPDIR/wordpress.tar.gz -C $WP_CORE_DIR
92
- fi
93
-
94
- download https://raw.github.com/markoheijnen/wp-mysqli/master/db.php $WP_CORE_DIR/wp-content/db.php
95
- }
96
-
97
- install_test_suite() {
98
- # portable in-place argument for both GNU sed and Mac OSX sed
99
- if [[ $(uname -s) == 'Darwin' ]]; then
100
- local ioption='-i .bak'
101
- else
102
- local ioption='-i'
103
- fi
104
-
105
- # set up testing suite if it doesn't yet exist
106
- if [ ! -d $WP_TESTS_DIR ]; then
107
- # set up testing suite
108
- mkdir -p $WP_TESTS_DIR
109
- svn co --quiet https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/includes/ $WP_TESTS_DIR/includes
110
- svn co --quiet https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/data/ $WP_TESTS_DIR/data
111
- fi
112
-
113
- if [ ! -f wp-tests-config.php ]; then
114
- download https://develop.svn.wordpress.org/${WP_TESTS_TAG}/wp-tests-config-sample.php "$WP_TESTS_DIR"/wp-tests-config.php
115
- # remove all forward slashes in the end
116
- WP_CORE_DIR=$(echo $WP_CORE_DIR | sed "s:/\+$::")
117
- sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR/':" "$WP_TESTS_DIR"/wp-tests-config.php
118
- sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" "$WP_TESTS_DIR"/wp-tests-config.php
119
- sed $ioption "s/yourusernamehere/$DB_USER/" "$WP_TESTS_DIR"/wp-tests-config.php
120
- sed $ioption "s/yourpasswordhere/$DB_PASS/" "$WP_TESTS_DIR"/wp-tests-config.php
121
- sed $ioption "s|localhost|${DB_HOST}|" "$WP_TESTS_DIR"/wp-tests-config.php
122
- fi
123
-
124
- }
125
-
126
- install_db() {
127
-
128
- if [ ${SKIP_DB_CREATE} = "true" ]; then
129
- return 0
130
- fi
131
-
132
- # parse DB_HOST for port or socket references
133
- local PARTS=(${DB_HOST//\:/ })
134
- local DB_HOSTNAME=${PARTS[0]};
135
- local DB_SOCK_OR_PORT=${PARTS[1]};
136
- local EXTRA=""
137
-
138
- if ! [ -z $DB_HOSTNAME ] ; then
139
- if [ $(echo $DB_SOCK_OR_PORT | grep -e '^[0-9]\{1,\}$') ]; then
140
- EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp"
141
- elif ! [ -z $DB_SOCK_OR_PORT ] ; then
142
- EXTRA=" --socket=$DB_SOCK_OR_PORT"
143
- elif ! [ -z $DB_HOSTNAME ] ; then
144
- EXTRA=" --host=$DB_HOSTNAME --protocol=tcp"
145
- fi
146
- fi
147
-
148
- # create database
149
- mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA;
150
- }
151
-
152
- install_wp
153
- install_test_suite
154
- install_db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tools/local-env/mysql-init.sql DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * MySQL server init.
3
- *
4
- * SQL queries in this file will be executed the first time the MySQL server is started.
5
- */
6
-
7
- CREATE DATABASE IF NOT EXISTS yith_plugin_fw_tests;
 
 
 
 
 
 
 
plugin-fw/tools/local-env/phpunit-config.ini DELETED
@@ -1,6 +0,0 @@
1
- upload_max_filesize = 1G
2
- post_max_size = 1G
3
-
4
- opcache.enable = 1
5
- opcache.enable_cli = 1
6
- opache.file_cache = /tmp/php-opcache
 
 
 
 
 
 
plugin-fw/tools/local-env/scripts/docker.js DELETED
@@ -1,6 +0,0 @@
1
- const dotenv = require( 'dotenv' );
2
- const { execSync } = require( 'child_process' );
3
- dotenv.config();
4
-
5
- // Execute any docker-compose command passed to this script.
6
- execSync( 'docker-compose ' + process.argv.slice( 2 ).join( ' ' ), { stdio: 'inherit' } );
 
 
 
 
 
 
plugin-fw/tools/local-env/scripts/install.js DELETED
@@ -1,15 +0,0 @@
1
- const dotenv = require( 'dotenv' );
2
- const { execSync } = require( 'child_process' );
3
-
4
- dotenv.config();
5
-
6
- phpunitExec('/var/www/html/install-wp-tests.sh yith_plugin_fw_tests root password mysql latest true');
7
-
8
- /**
9
- * Runs commands in the Docker PHPUnit environment.
10
- *
11
- * @param {string} cmd The command to run.
12
- */
13
- function phpunitExec( cmd ) {
14
- execSync( `docker-compose run --rm phpunit ${cmd}`, { stdio: 'inherit' } );
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/tools/local-env/scripts/start.js DELETED
@@ -1,7 +0,0 @@
1
- const dotenv = require( 'dotenv' );
2
- const { execSync } = require( 'child_process' );
3
-
4
- dotenv.config();
5
-
6
- // Start the local-env containers.
7
- execSync( 'docker-compose up -d', { stdio: 'inherit' } );
 
 
 
 
 
 
 
plugin-fw/tools/local-env/yith-plugin-fw-loader.php DELETED
@@ -1,50 +0,0 @@
1
- <?php
2
- /**
3
- * Plugin Name: YITH Plugin Framework Loader
4
- * Plugin URI:
5
- * Description: YITH Plugin Framework Loader
6
- * Version: 1.0.0
7
- * Author: YITH
8
- * Author URI: http://yithemes.com/
9
- * Text Domain: yith-plugin-framework-loader
10
- * Domain Path: /languages/
11
- *
12
- * @author YITH
13
- * @package YITH Plugin Framework Loader
14
- * @version 1.0.0
15
- */
16
-
17
- if ( ! defined( 'ABSPATH' ) ) {
18
- exit;
19
- } // Exit if accessed directly
20
-
21
- if ( ! function_exists( 'yith_plugin_registration_hook' ) ) {
22
- require_once 'plugin-fw/yit-plugin-registration-hook.php';
23
- }
24
- register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
25
-
26
-
27
- add_action( 'plugins_loaded', 'yith_plugin_fw_loader_load_plugin_fw', 15 );
28
-
29
- /**
30
- * Plugin Framework Loader.
31
- *
32
- * @return void
33
- */
34
- function yith_plugin_fw_loader_load_plugin_fw() {
35
-
36
- if ( ! defined( 'YIT_CORE_PLUGIN' ) ) {
37
- global $plugin_fw_data;
38
- if ( ! empty( $plugin_fw_data ) ) {
39
- $plugin_fw_file = array_shift( $plugin_fw_data );
40
- require_once $plugin_fw_file;
41
- }
42
- }
43
-
44
- }
45
-
46
- /* Plugin Framework Version Check */
47
- if ( ! function_exists( 'yit_maybe_plugin_fw_loader' ) && file_exists( plugin_dir_path( __FILE__ ) . 'plugin-fw/init.php' ) ) {
48
- require_once plugin_dir_path( __FILE__ ) . 'plugin-fw/init.php';
49
- }
50
- yit_maybe_plugin_fw_loader( plugin_dir_path( __FILE__ ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
4
  Tags: woocommerce search by sku, woocommerce search results, woocommerce search shortcode, woocommerce search page, woocommerce search form, woocommerce search filter, woocommerce search products, woocommerce search content, woocommerce search autocomplete, woocommerce advanced search, woocommerce search category, woocommerce search product attributes, woocommerce search by tag, woocommerce search by brand, woocommerce predictive, woocommerce live search, woocommerce single product search, woocommerce site search, woocommerce search tex, tajax, search, woocommerce, products, themes, yit, e-commerce, shop, yith, ajax search, instant search, premium, yithemes, autocomplete, autosuggest, better search, category search, custom search, highlight terms, Live Search, Predictive Search, product search, relevant search, search highlight, search product, suggest, typeahead, WooCommerce Plugin, woocommerce product search, woocommerce search, wordpress ecommerce
5
  Requires at least: 5.8
6
  Tested up to: 6.0
7
- Stable tag: 1.22.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -138,6 +138,10 @@ If you have created your own language pack for YITH WooCommerce Ajax Search, or
138
  2. YITH WooCommerce Ajax Search in operation displaying WooCommerce search results
139
 
140
  == Changelog ==
 
 
 
 
141
  = 1.22.2 - Released on 10 August 2022 =
142
  * Fix: Gutenberg block layout style
143
 
4
  Tags: woocommerce search by sku, woocommerce search results, woocommerce search shortcode, woocommerce search page, woocommerce search form, woocommerce search filter, woocommerce search products, woocommerce search content, woocommerce search autocomplete, woocommerce advanced search, woocommerce search category, woocommerce search product attributes, woocommerce search by tag, woocommerce search by brand, woocommerce predictive, woocommerce live search, woocommerce single product search, woocommerce site search, woocommerce search tex, tajax, search, woocommerce, products, themes, yit, e-commerce, shop, yith, ajax search, instant search, premium, yithemes, autocomplete, autosuggest, better search, category search, custom search, highlight terms, Live Search, Predictive Search, product search, relevant search, search highlight, search product, suggest, typeahead, WooCommerce Plugin, woocommerce product search, woocommerce search, wordpress ecommerce
5
  Requires at least: 5.8
6
  Tested up to: 6.0
7
+ Stable tag: 1.23.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
138
  2. YITH WooCommerce Ajax Search in operation displaying WooCommerce search results
139
 
140
  == Changelog ==
141
+ = 1.23.0 - Released on 07 September 2022 =
142
+ * New: support for WooCommerce 6.9
143
+ * Update: YITH plugin framework
144
+
145
  = 1.22.2 - Released on 10 August 2022 =
146
  * Fix: Gutenberg block layout style
147