YITH WooCommerce Ajax Search - Version 1.5.6

Version Description

  • Released: May 15, 2018 = New: Support to WordPress 4.9.6 RC2 New: Support to WooCommerce 3.4.0 RC1 Update: Plugin Core 3.0.15
Download this release

Release Info

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

Code changes from version 1.5.5 to 1.5.6

README.txt CHANGED
@@ -3,8 +3,8 @@
3
  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: 4.0.0
6
- Tested up to: 4.9.2
7
- Stable tag: 1.5.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -34,7 +34,7 @@ It works just like Google Suggest, but this tool will be available on your WooCo
34
  * Set minimum number of characters for WooCommerce search
35
  * Set maximum number of WooCommerce results
36
 
37
- If you want to boost your YITH WooCommerce Ajax Search, you can also visit YIThemes page and explore the [live demo](http://plugins.yithemes.com/yith-woocommerce-ajax-search/) of the premium version, which includes all the following features to improve at the best your WooCommerce site search.
38
 
39
  = Premium features of YITH WooCommerce Ajax Search: =
40
 
@@ -55,7 +55,7 @@ If you want to boost your YITH WooCommerce Ajax Search, you can also visit YIThe
55
  * Customize WooCommerce search loader .gif image
56
 
57
 
58
- For a more detailed list of options and features of YITH WooCommerce Ajax Search, please read the [official documentation](http://yithemes.com/docs-plugins/yith-woocommerce-ajax-search/ "YITH Woocommerce Ajax Search official documentation").
59
 
60
  YITH WooCommerce Ajax Search is available in combination with many other plugins in [**YITH Essential Kit for WooCommerce #1**](https://wordpress.org/plugins/yith-essential-kit-for-woocommerce-1/), a bundle of indispensable tools to make your WooCommerce site look more professional and be more user-friendly. Learn more about all of WooCommerce plugins included and boost your WooCommerce site with a simple click!
61
 
@@ -107,7 +107,7 @@ You can get more features with the premium version of YITH WooCommerce Ajax Sear
107
 
108
  = How can I try the full-featured plugin? =
109
 
110
- If you want to see a demonstration version of the premium plugin, you can see that in [this page](http://plugins.yithemes.com/yith-woocommerce-ajax-search/). Browse it and try all options available so that you can see how your plugin looks like.
111
 
112
  = What are the main changes in plugin translation? =
113
  Recently YITH WooCommerce Ajax Search has been selected to be included in the "translate.wordpress.org" translate programme.
@@ -138,6 +138,12 @@ 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.5.5 - Released: Jan 31, 2018 =
142
  New: Support to WooCommerce 3.3.x
143
  Update: Plugin Core 3.0.11
3
  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: 4.0.0
6
+ Tested up to: 4.9.6
7
+ Stable tag: 1.5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
34
  * Set minimum number of characters for WooCommerce search
35
  * Set maximum number of WooCommerce results
36
 
37
+ If you want to boost your YITH WooCommerce Ajax Search, you can also visit YIThemes page and explore the [live demo](https://plugins.yithemes.com/yith-woocommerce-ajax-search/) of the premium version, which includes all the following features to improve at the best your WooCommerce site search.
38
 
39
  = Premium features of YITH WooCommerce Ajax Search: =
40
 
55
  * Customize WooCommerce search loader .gif image
56
 
57
 
58
+ For a more detailed list of options and features of YITH WooCommerce Ajax Search, please read the [official documentation](https://docs.yithemes.com/yith-woocommerce-ajax-search/ "YITH Woocommerce Ajax Search official documentation").
59
 
60
  YITH WooCommerce Ajax Search is available in combination with many other plugins in [**YITH Essential Kit for WooCommerce #1**](https://wordpress.org/plugins/yith-essential-kit-for-woocommerce-1/), a bundle of indispensable tools to make your WooCommerce site look more professional and be more user-friendly. Learn more about all of WooCommerce plugins included and boost your WooCommerce site with a simple click!
61
 
107
 
108
  = How can I try the full-featured plugin? =
109
 
110
+ If you want to see a demonstration version of the premium plugin, you can see that in [this page](https://plugins.yithemes.com/yith-woocommerce-ajax-search/). Browse it and try all options available so that you can see how your plugin looks like.
111
 
112
  = What are the main changes in plugin translation? =
113
  Recently YITH WooCommerce Ajax Search has been selected to be included in the "translate.wordpress.org" translate programme.
138
  2. YITH WooCommerce Ajax Search in operation displaying WooCommerce search results
139
 
140
  == Changelog ==
141
+
142
+ = 1.5.6 - Released: May 15, 2018 =
143
+ New: Support to WordPress 4.9.6 RC2
144
+ New: Support to WooCommerce 3.4.0 RC1
145
+ Update: Plugin Core 3.0.15
146
+
147
  = 1.5.5 - Released: Jan 31, 2018 =
148
  New: Support to WooCommerce 3.3.x
149
  Update: Plugin Core 3.0.11
assets/js/frontend.js CHANGED
@@ -10,38 +10,47 @@ jQuery(document).ready(function ($) {
10
  "use strict";
11
 
12
  var el = $('.yith-s'),
13
- def_loader = ( typeof woocommerce_params != 'undefined' && typeof woocommerce_params.ajax_loader_url != 'undefined' ) ? woocommerce_params.ajax_loader_url : yith_wcas_params.loading,
14
  loader_icon = el.data('loader-icon') == '' ? def_loader : el.data('loader-icon'),
15
  search_button = $('#yith-searchsubmit'),
16
- min_chars = el.data('min-chars');
 
17
 
18
- search_button.on('click', function(){
 
 
 
 
19
  var form = $(this).closest('form');
20
- if( form.find('.yith-s').val()==''){
21
  return false;
22
  }
23
  return true;
24
  });
25
 
26
- if( el.length == 0 ) el = $('#yith-s');
27
 
28
  el.each(function () {
29
  var $t = $(this),
30
- append_to = ( typeof $t.data('append-to') == 'undefined') ? $t.closest('.yith-ajaxsearchform-container') : $t.closest( $t.data('append-to') );
31
 
32
  $t.yithautocomplete({
33
- minChars : min_chars,
34
- appendTo : append_to,
35
  triggerSelectOnValidInput: false,
36
- serviceUrl : yith_wcas_params.ajax_url + '?action=yith_ajax_search_products',
37
- onSearchStart : function () {
38
- $t.css({'background-image': 'url(' + loader_icon + ')','background-repeat': 'no-repeat', 'background-position': 'center right'});
 
 
 
 
39
  },
40
- onSelect : function (suggestion) {
41
  if (suggestion.id != -1) {
42
  window.location.href = suggestion.url;
43
  }
44
- } ,
45
  onSearchComplete: function () {
46
  $t.css('background-image', 'none');
47
  }
10
  "use strict";
11
 
12
  var el = $('.yith-s'),
13
+ def_loader = (typeof woocommerce_params != 'undefined' && typeof woocommerce_params.ajax_loader_url != 'undefined') ? woocommerce_params.ajax_loader_url : yith_wcas_params.loading,
14
  loader_icon = el.data('loader-icon') == '' ? def_loader : el.data('loader-icon'),
15
  search_button = $('#yith-searchsubmit'),
16
+ min_chars = el.data('min-chars'),
17
+ ajaxurl = yith_wcas_params.ajax_url;
18
 
19
+ if (ajaxurl.indexOf('?') == -1) {
20
+ ajaxurl += '?';
21
+ }
22
+
23
+ search_button.on('click', function () {
24
  var form = $(this).closest('form');
25
+ if (form.find('.yith-s').val() == '') {
26
  return false;
27
  }
28
  return true;
29
  });
30
 
31
+ if (el.length == 0) el = $('#yith-s');
32
 
33
  el.each(function () {
34
  var $t = $(this),
35
+ append_to = (typeof $t.data('append-to') == 'undefined') ? $t.closest('.yith-ajaxsearchform-container') : $t.closest($t.data('append-to'));
36
 
37
  $t.yithautocomplete({
38
+ minChars: min_chars,
39
+ appendTo: append_to,
40
  triggerSelectOnValidInput: false,
41
+ serviceUrl: ajaxurl + 'action=yith_ajax_search_products',
42
+ onSearchStart: function () {
43
+ $t.css({
44
+ 'background-image': 'url(' + loader_icon + ')',
45
+ 'background-repeat': 'no-repeat',
46
+ 'background-position': 'center right'
47
+ });
48
  },
49
+ onSelect: function (suggestion) {
50
  if (suggestion.id != -1) {
51
  window.location.href = suggestion.url;
52
  }
53
+ },
54
  onSearchComplete: function () {
55
  $t.css('background-image', 'none');
56
  }
assets/js/frontend.min.js CHANGED
@@ -1,2 +1 @@
1
- jQuery(document).ready(function(c){var a=c(".yith-s"),d="undefined"!=typeof woocommerce_params&&"undefined"!=typeof woocommerce_params.ajax_loader_url?woocommerce_params.ajax_loader_url:yith_wcas_params.loading,e=""==a.data("loader-icon")?d:a.data("loader-icon"),d=c("#yith-searchsubmit"),f=a.data("min-chars");d.on("click",function(){return""==c(this).closest("form").find(".yith-s").val()?!1:!0});0==a.length&&(a=c("#yith-s"));a.each(function(){var b=c(this),a="undefined"==typeof b.data("append-to")?
2
- b.closest(".yith-ajaxsearchform-container"):b.closest(b.data("append-to"));b.yithautocomplete({minChars:f,appendTo:a,triggerSelectOnValidInput:!1,serviceUrl:yith_wcas_params.ajax_url+"?action=yith_ajax_search_products",onSearchStart:function(){b.css({"background-image":"url("+e+")","background-repeat":"no-repeat","background-position":"center right"})},onSelect:function(a){-1!=a.id&&(window.location.href=a.url)},onSearchComplete:function(){b.css("background-image","none")}})})});
1
+ jQuery(document).ready(function(a){"use strict";var o=a(".yith-s"),e="undefined"!=typeof woocommerce_params&&void 0!==woocommerce_params.ajax_loader_url?woocommerce_params.ajax_loader_url:yith_wcas_params.loading,t=""==o.data("loader-icon")?e:o.data("loader-icon"),r=a("#yith-searchsubmit"),n=o.data("min-chars"),c=yith_wcas_params.ajax_url;-1==c.indexOf("?")&&(c+="?"),r.on("click",function(){return""!=a(this).closest("form").find(".yith-s").val()}),0==o.length&&(o=a("#yith-s")),o.each(function(){var o=a(this),e=void 0===o.data("append-to")?o.closest(".yith-ajaxsearchform-container"):o.closest(o.data("append-to"));o.yithautocomplete({minChars:n,appendTo:e,triggerSelectOnValidInput:!1,serviceUrl:c+"action=yith_ajax_search_products",onSearchStart:function(){o.css({"background-image":"url("+t+")","background-repeat":"no-repeat","background-position":"center right"})},onSelect:function(a){-1!=a.id&&(window.location.href=a.url)},onSearchComplete:function(){o.css("background-image","none")}})})});
 
class.yith-wcas-admin.php CHANGED
@@ -47,7 +47,7 @@ if( !class_exists( 'YITH_WCAS_Admin' ) ) {
47
  /**
48
  * @var string Premium version landing link
49
  */
50
- protected $_premium_landing = 'http://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/';
51
 
52
  /**
53
  * @var string Ajax Search panel page
@@ -61,7 +61,7 @@ if( !class_exists( 'YITH_WCAS_Admin' ) ) {
61
  * @access public
62
  * @since 1.0.0
63
  */
64
- public $doc_url = 'http://yithemes.com/docs-plugins/yith-woocommerce-ajax-search/';
65
 
66
  /**
67
  * Constructor
47
  /**
48
  * @var string Premium version landing link
49
  */
50
+ protected $_premium_landing = 'https://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/';
51
 
52
  /**
53
  * @var string Ajax Search panel page
61
  * @access public
62
  * @since 1.0.0
63
  */
64
+ public $doc_url = 'https://docs.yithemes.com/yith-woocommerce-ajax-search/';
65
 
66
  /**
67
  * Constructor
init.php CHANGED
@@ -3,13 +3,13 @@
3
  * Plugin Name: YITH WooCommerce Ajax Search
4
  * Plugin URI: http://yithemes.com/
5
  * Description: YITH WooCommerce Ajax Search allows your users to search products in real time.
6
- * Version: 1.5.5
7
  * Author: YITHEMES
8
  * Author URI: http://yithemes.com/
9
  * Text Domain: yith-woocommerce-ajax-search
10
  * Domain Path: /languages/
11
  * WC requires at least: 3.0.0
12
- * WC tested up to: 3.3.0
13
  */
14
 
15
 
@@ -67,7 +67,7 @@ register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
67
  if ( defined( 'YITH_WCAS_VERSION' ) ){
68
  return;
69
  }else{
70
- define( 'YITH_WCAS_VERSION', '1.5.5' );
71
  }
72
 
73
  if ( ! defined( 'YITH_WCAS_FREE_INIT' ) ) {
3
  * Plugin Name: YITH WooCommerce Ajax Search
4
  * Plugin URI: http://yithemes.com/
5
  * Description: YITH WooCommerce Ajax Search allows your users to search products in real time.
6
+ * Version: 1.5.6
7
  * Author: YITHEMES
8
  * Author URI: http://yithemes.com/
9
  * Text Domain: yith-woocommerce-ajax-search
10
  * Domain Path: /languages/
11
  * WC requires at least: 3.0.0
12
+ * WC tested up to: 3.4.0
13
  */
14
 
15
 
67
  if ( defined( 'YITH_WCAS_VERSION' ) ){
68
  return;
69
  }else{
70
+ define( 'YITH_WCAS_VERSION', '1.5.6' );
71
  }
72
 
73
  if ( ! defined( 'YITH_WCAS_FREE_INIT' ) ) {
languages/yith-woocommerce-ajax-search-it_IT.mo CHANGED
Binary file
languages/yith-woocommerce-ajax-search-it_IT.po CHANGED
@@ -1,15 +1,15 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: YITH WooCommerce Ajax Search Premium\n"
4
- "POT-Creation-Date: 2017-03-06 14:56+0100\n"
5
- "PO-Revision-Date: 2017-03-06 14:56+0100\n"
6
  "Last-Translator: \n"
7
  "Language-Team: Yithemes <plugins@yithemes.com>\n"
8
  "Language: it_IT\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.8.7.1\n"
13
  "X-Poedit-KeywordsList: __;_e;_x\n"
14
  "X-Poedit-Basepath: .\n"
15
  "X-Poedit-SearchPath-0: ..\n"
@@ -38,13 +38,19 @@ msgstr "YITH WooCommerce Ajax Search"
38
 
39
  #: ../class.yith-wcas-admin.php:208
40
  msgid ""
41
- "In the YIT Plugin tab you can find the YITH WooCommerce Ajax Search options."
42
- "\r\n"
43
  "With this menu, you can access to all the settings of our plugins that you "
44
- "have activated.\r\n"
45
  "YITH WooCommerce Ajax Search is available in an outstanding PREMIUM version "
46
  "with many new options, <a href=\""
47
  msgstr ""
 
 
 
 
 
 
48
 
49
  #: ../class.yith-wcas-admin.php:221
50
  msgid "YITH WooCommerce Ajax Search Updated"
@@ -54,17 +60,24 @@ msgstr "YITH WooCommerce Ajax Search aggiornato"
54
  msgid ""
55
  "From now on, you can find all the options of YITH WooCommerce Ajax Search "
56
  "Updated under YIT Plugin -> Ajax Search instead of WooCommerce -> Settings -"
57
- "> Ajax Search, as in the previous version.\r\n"
58
- "When one of our plugins updates, a new voice will be added to this menu.\r\n"
59
  "YITH WooCommerce Ajax Search renovates with new available options, discover "
60
  "the <a href=\""
61
  msgstr ""
62
-
63
- #: ../class.yith-wcas.php:181
 
 
 
 
 
 
 
64
  msgid "No results"
65
  msgstr "Nessun risultato"
66
 
67
- #: ../init.php:46
68
  msgid ""
69
  "You can't activate the free version of YITH WooCommerce Ajax Search while "
70
  "you are using the premium one."
@@ -72,7 +85,7 @@ msgstr ""
72
  "Non puoi attivare la versione free di YITH WooCommerce Ajax Search se stai "
73
  "già utilizzando la premium."
74
 
75
- #: ../init.php:108
76
  msgid ""
77
  "YITH WooCommerce Ajax Search is enabled but not effective. It requires "
78
  "WooCommerce in order to work."
@@ -90,9 +103,12 @@ msgstr "Scopri le funzionalità avanzate"
90
 
91
  #: ../plugin-options/settings-options.php:26
92
  msgid ""
93
- "Upgrade to the PREMIUM VERSION\r\n"
94
  "of YITH WOOCOMMERCE AJAX SEARCH to benefit from all features!"
95
  msgstr ""
 
 
 
96
 
97
  #: ../plugin-options/settings-options.php:33
98
  msgid "Get Support and Pro Features"
@@ -152,19 +168,19 @@ msgstr "Numero massimo di risultati da mostrare tra i suggerimenti automatici."
152
 
153
  #: ../plugin-options/settings-options.php:97
154
  msgid "Enable transients to cache autocomplete results"
155
- msgstr ""
156
 
157
  #: ../plugin-options/settings-options.php:98
158
  msgid "Save the results of a query in a transient"
159
- msgstr ""
160
 
161
  #: ../plugin-options/settings-options.php:106
162
  msgid "Set the duration of transient"
163
- msgstr ""
164
 
165
  #: ../plugin-options/settings-options.php:107
166
  msgid "(hours)"
167
- msgstr ""
168
 
169
  #: ../templates/admin/premium.php:251 ../templates/admin/premium.php:299
170
  #, php-format
@@ -258,45 +274,6 @@ msgstr "YITH WooCommerce Ajax Product Search"
258
  msgid "Title:"
259
  msgstr "Titolo:"
260
 
261
- #~ msgid ""
262
- #~ "In the YIT Plugin tab you can find the YITH WooCommerce Ajax Search "
263
- #~ "options.\n"
264
- #~ "With this menu, you can access to all the settings of our plugins that "
265
- #~ "you have activated.\n"
266
- #~ "YITH WooCommerce Ajax Search is available in an outstanding PREMIUM "
267
- #~ "version with many new options, <a href=\""
268
- #~ msgstr ""
269
- #~ "Nella scheda del plugin puoi trovare tutte le opzioni di YITH WooCommerce "
270
- #~ "Ajax Search.\n"
271
- #~ "Da questo menu, avrai accesso a tutte le impostazioni dei nostri plugin "
272
- #~ "attivati finora.\n"
273
- #~ "YITH WooCommerce Ajax Search è disponibile in una eccezionale versione "
274
- #~ "PREMIUM con molte nuove optioni, <a href=\""
275
-
276
- #~ msgid ""
277
- #~ "From now on, you can find all the options of YITH WooCommerce Ajax Search "
278
- #~ "Updated under YIT Plugin -> Ajax Search instead of WooCommerce -> "
279
- #~ "Settings -> Ajax Search, as in the previous version.\n"
280
- #~ "When one of our plugins updates, a new voice will be added to this menu.\n"
281
- #~ "YITH WooCommerce Ajax Search renovates with new available options, "
282
- #~ "discover the <a href=\""
283
- #~ msgstr ""
284
- #~ "Da adesso, puoi trovare tutte le opzioni del nuovo YITH WooCommerce Ajax "
285
- #~ "Search in YIT Plugin > Ajax Search invece che in WooCommerce > Settings > "
286
- #~ "Ajax Search, come accadeva nelle precedenti versioni.\n"
287
- #~ "Quando uno dei nostri plugin verrà aggiornato, una nuova voce sarà "
288
- #~ "aggiunta a questo menu.\n"
289
- #~ "YITH WooCommerce Ajax Search si è rinnovato con molte nuove opzioni "
290
- #~ "disponibili, scopri <a href=\""
291
-
292
- #~ msgid ""
293
- #~ "Upgrade to the PREMIUM VERSION\n"
294
- #~ "of YITH WOOCOMMERCE AJAX SEARCH to benefit from all features!"
295
- #~ msgstr ""
296
- #~ "Passa alla VERSIONE PREMIUM\n"
297
- #~ "di YITH WooCommerce Ajax Search per poter fruire di tutte le sue "
298
- #~ "funzionalità!"
299
-
300
  #~ msgid "Output"
301
  #~ msgstr "Risultati di ricerca"
302
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: YITH WooCommerce Ajax Search Premium\n"
4
+ "POT-Creation-Date: 2018-04-16 22:37+0200\n"
5
+ "PO-Revision-Date: 2018-04-16 22:40+0200\n"
6
  "Last-Translator: \n"
7
  "Language-Team: Yithemes <plugins@yithemes.com>\n"
8
  "Language: it_IT\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.6\n"
13
  "X-Poedit-KeywordsList: __;_e;_x\n"
14
  "X-Poedit-Basepath: .\n"
15
  "X-Poedit-SearchPath-0: ..\n"
38
 
39
  #: ../class.yith-wcas-admin.php:208
40
  msgid ""
41
+ "In the YIT Plugin tab you can find the YITH WooCommerce Ajax Search "
42
+ "options.\n"
43
  "With this menu, you can access to all the settings of our plugins that you "
44
+ "have activated.\n"
45
  "YITH WooCommerce Ajax Search is available in an outstanding PREMIUM version "
46
  "with many new options, <a href=\""
47
  msgstr ""
48
+ "Nella scheda del plugin puoi trovare tutte le opzioni di YITH WooCommerce "
49
+ "Ajax Search.\n"
50
+ "Da questo menu, avrai accesso a tutte le impostazioni dei nostri plugin "
51
+ "attivati finora.\n"
52
+ "YITH WooCommerce Ajax Search è disponibile in una eccezionale versione "
53
+ "PREMIUM con molte nuove optioni, <a href=\""
54
 
55
  #: ../class.yith-wcas-admin.php:221
56
  msgid "YITH WooCommerce Ajax Search Updated"
60
  msgid ""
61
  "From now on, you can find all the options of YITH WooCommerce Ajax Search "
62
  "Updated under YIT Plugin -> Ajax Search instead of WooCommerce -> Settings -"
63
+ "> Ajax Search, as in the previous version.\n"
64
+ "When one of our plugins updates, a new voice will be added to this menu.\n"
65
  "YITH WooCommerce Ajax Search renovates with new available options, discover "
66
  "the <a href=\""
67
  msgstr ""
68
+ "Da adesso, puoi trovare tutte le opzioni del nuovo YITH WooCommerce Ajax "
69
+ "Search in YIT Plugin > Ajax Search invece che in WooCommerce > Settings > "
70
+ "Ajax Search, come accadeva nelle precedenti versioni.\n"
71
+ "Quando uno dei nostri plugin verrà aggiornato, una nuova voce sarà aggiunta "
72
+ "a questo menu.\n"
73
+ "YITH WooCommerce Ajax Search si è rinnovato con molte nuove opzioni "
74
+ "disponibili, scopri <a href=\""
75
+
76
+ #: ../class.yith-wcas.php:202
77
  msgid "No results"
78
  msgstr "Nessun risultato"
79
 
80
+ #: ../init.php:48
81
  msgid ""
82
  "You can't activate the free version of YITH WooCommerce Ajax Search while "
83
  "you are using the premium one."
85
  "Non puoi attivare la versione free di YITH WooCommerce Ajax Search se stai "
86
  "già utilizzando la premium."
87
 
88
+ #: ../init.php:110
89
  msgid ""
90
  "YITH WooCommerce Ajax Search is enabled but not effective. It requires "
91
  "WooCommerce in order to work."
103
 
104
  #: ../plugin-options/settings-options.php:26
105
  msgid ""
106
+ "Upgrade to the PREMIUM VERSION\n"
107
  "of YITH WOOCOMMERCE AJAX SEARCH to benefit from all features!"
108
  msgstr ""
109
+ "Passa alla VERSIONE PREMIUM\n"
110
+ "di YITH WooCommerce Ajax Search per poter fruire di tutte le sue "
111
+ "funzionalità!"
112
 
113
  #: ../plugin-options/settings-options.php:33
114
  msgid "Get Support and Pro Features"
168
 
169
  #: ../plugin-options/settings-options.php:97
170
  msgid "Enable transients to cache autocomplete results"
171
+ msgstr "Attiva i transient per salvare nella cache i risulti autocompletati"
172
 
173
  #: ../plugin-options/settings-options.php:98
174
  msgid "Save the results of a query in a transient"
175
+ msgstr "Salva i risultati di una query in un transient"
176
 
177
  #: ../plugin-options/settings-options.php:106
178
  msgid "Set the duration of transient"
179
+ msgstr "Imposta la durata del transient "
180
 
181
  #: ../plugin-options/settings-options.php:107
182
  msgid "(hours)"
183
+ msgstr "(ore)"
184
 
185
  #: ../templates/admin/premium.php:251 ../templates/admin/premium.php:299
186
  #, php-format
274
  msgid "Title:"
275
  msgstr "Titolo:"
276
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
277
  #~ msgid "Output"
278
  #~ msgstr "Risultati di ricerca"
279
 
plugin-fw/assets/css/yit-plugin-panel.css CHANGED
@@ -46,72 +46,8 @@
46
  }
47
 
48
  #plugin-fw-wc h3, #yith-plugin-fw-panel h3 {
49
- padding : 0px 10px 10px;
50
- border-bottom : 1px solid #eee;
51
- }
52
-
53
- /* === VIDEO BOX === */
54
- .yith-videobox-wrapper {
55
- padding-top : 20px;
56
- }
57
-
58
- .yith-videobox-wrapper h3 {
59
- padding : 0px 10px 10px;
60
- border-bottom : 1px solid #eee;
61
- }
62
-
63
- .yith-videobox-wrapper .postbox {
64
- display : inline-block;
65
- }
66
-
67
- .yith-videobox-wrapper .yith_videobox .column {
68
- width : 45%;
69
- float : left;
70
- padding-right : 2.5%;
71
- border-right : 1px solid #ebebeb;
72
- padding-bottom : 2em;
73
- }
74
-
75
- .yith-videobox-wrapper .yith_videobox .column.two {
76
- margin-right : 0;
77
- padding-right : 0;
78
- padding-left : 2.5%;
79
- border : 0;
80
- max-width : 49%;
81
- }
82
-
83
- .yith-videobox-wrapper .yith_videobox h2 {
84
- font-size : 16px;
85
- margin-bottom : 20px;
86
- }
87
-
88
- .yith-videobox-wrapper .yith-video-link {
89
- width : 100%;
90
- max-width : 200px;
91
- float : left;
92
- margin : 0 1.5em 1.5em 0;
93
- }
94
-
95
- .yith-videobox-wrapper .yith-video-link {
96
- width : 100%;
97
- max-width : 200px;
98
- float : left;
99
- margin : 0 1.5em 1.5em 0;
100
- }
101
-
102
- .yith-videobox-wrapper .yith-image-frame img {
103
- max-width : 100%;
104
- height : auto;
105
- }
106
-
107
- .yith-videobox-wrapper .yith-video-link img {
108
- max-width : 100%;
109
- height : auto;
110
- }
111
-
112
- .yith-videobox-wrapper .yith-video-iframe {
113
- display : none;
114
-
115
  }
116
 
117
  /* === Plugins Upgrader === */
46
  }
47
 
48
  #plugin-fw-wc h3, #yith-plugin-fw-panel h3 {
49
+ padding : 0 0 0 10px;
50
+ margin : 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  }
52
 
53
  /* === Plugins Upgrader === */
plugin-fw/assets/css/yith-fields.css CHANGED
@@ -7,6 +7,11 @@
7
  clear : both;
8
  }
9
 
 
 
 
 
 
10
  .yith-disabled {
11
  opacity : 0.3;
12
  pointer-events : none;
@@ -32,8 +37,11 @@
32
 
33
  .yith-plugin-fw input[type=email],
34
  .yith-plugin-fw input[type=number],
35
- .yith-plugin-fw input[type=text]:not(.select2-search__field):not(.wp-color-picker),
36
  .yith-plugin-fw select,
 
 
 
37
  .woocommerce .yith-plugin-fw table.form-table select {
38
  width : 400px;
39
  max-width : 100%;
@@ -41,14 +49,29 @@
41
  padding : 5px;
42
  }
43
 
 
 
 
 
 
 
 
 
 
 
44
  .woocommerce .yith-plugin-fw table.form-table input[type=text].colorpick,
45
  .yith-plugin-fw input[type=text].colorpick {
46
- width : 6em;
 
 
 
47
  }
48
 
49
- .woocommerce .yith-plugin-fw input[type=text].select2-search__field {
50
- margin : 10px 0 0 2px;
51
- padding : 0;
 
 
52
  }
53
 
54
  .yith-plugin-fw textarea {
@@ -57,12 +80,6 @@
57
  padding : 5px;
58
  }
59
 
60
- .yith-plugin-fw input[type=email],
61
- .yith-plugin-fw input[type=number],
62
- .yith-plugin-fw input[type=text]:not(.select2-search__field) {
63
- padding : 5px 10px;
64
- }
65
-
66
  /* ------------- ICONS ------------- */
67
  .yit-icons-manager-wrapper {
68
  width : 100%;
@@ -175,6 +192,10 @@ ul.yit-icons-manager-list li.active {
175
  }
176
 
177
  /* ------- OnOff ------- */
 
 
 
 
178
  .yith-plugin-fw-onoff-container input {
179
  display : none;
180
  }
@@ -218,6 +239,15 @@ ul.yit-icons-manager-list li.active {
218
  max-height : 200px;
219
  }
220
 
 
 
 
 
 
 
 
 
 
221
  /* ------- Sidebar Layout ------- */
222
  .yith-plugin-fw-sidebar-layout input[type="radio"] {
223
  display : none;
@@ -324,7 +354,7 @@ ul.yit-icons-manager-list li.active {
324
  }
325
 
326
  .yith-plugin-fw-textarea-editor-field-wrapper textarea.wp-editor-area,
327
- .woocommerce table.form-table .yith-plugin-fw-textarea-editor-field-wrapper textarea.wp-editor-area{
328
  width : 100%;
329
  }
330
 
7
  clear : both;
8
  }
9
 
10
+ .yith-plugin-fw span.description.inline {
11
+ display : inline-block;
12
+ margin : 0 0 0 5px;
13
+ }
14
+
15
  .yith-disabled {
16
  opacity : 0.3;
17
  pointer-events : none;
37
 
38
  .yith-plugin-fw input[type=email],
39
  .yith-plugin-fw input[type=number],
40
+ .yith-plugin-fw input[type=text]:not(.select2-search__field),
41
  .yith-plugin-fw select,
42
+ .woocommerce .yith-plugin-fw table.form-table input[type=email],
43
+ .woocommerce .yith-plugin-fw table.form-table input[type=number],
44
+ .woocommerce .yith-plugin-fw table.form-table input[type=text]:not(.select2-search__field),
45
  .woocommerce .yith-plugin-fw table.form-table select {
46
  width : 400px;
47
  max-width : 100%;
49
  padding : 5px;
50
  }
51
 
52
+ .woocommerce .yith-plugin-fw table.form-table input[type=text].wp-color-picker,
53
+ .woocommerce .yith-plugin-fw table.form-table input[type=text].yith-plugin-fw-colorpicker,
54
+ .yith-plugin-fw input[type=text].wp-color-picker,
55
+ .yith-plugin-fw input[type=text].yith-plugin-fw-colorpicker {
56
+ width : 6em;
57
+ max-width : none;
58
+ height : auto;
59
+ padding : 3px 5px;
60
+ }
61
+
62
  .woocommerce .yith-plugin-fw table.form-table input[type=text].colorpick,
63
  .yith-plugin-fw input[type=text].colorpick {
64
+ width : 6em;
65
+ max-width : none;
66
+ height : auto;
67
+ padding : 6px;
68
  }
69
 
70
+ .yith-plugin-fw input.select2-search__field,
71
+ .yith-plugin-fw .select2-container .select2-search--inline .select2-search__field,
72
+ .woocommerce .yith-plugin-fw input.select2-search__field,
73
+ .woocommerce .yith-plugin-fw table.form-table input.select2-search__field {
74
+ padding : 3px;
75
  }
76
 
77
  .yith-plugin-fw textarea {
80
  padding : 5px;
81
  }
82
 
 
 
 
 
 
 
83
  /* ------------- ICONS ------------- */
84
  .yit-icons-manager-wrapper {
85
  width : 100%;
192
  }
193
 
194
  /* ------- OnOff ------- */
195
+ .yith-plugin-fw-onoff-container {
196
+ display : inline-block;
197
+ }
198
+
199
  .yith-plugin-fw-onoff-container input {
200
  display : none;
201
  }
239
  max-height : 200px;
240
  }
241
 
242
+ /* ------- Radio ------- */
243
+ .yith-plugin-fw-radio input[type=radio] {
244
+ margin : 0 3px 0 0;
245
+ }
246
+
247
+ .yith-plugin-fw-radio__row {
248
+ margin-bottom : 8px;
249
+ }
250
+
251
  /* ------- Sidebar Layout ------- */
252
  .yith-plugin-fw-sidebar-layout input[type="radio"] {
253
  display : none;
354
  }
355
 
356
  .yith-plugin-fw-textarea-editor-field-wrapper textarea.wp-editor-area,
357
+ .woocommerce table.form-table .yith-plugin-fw-textarea-editor-field-wrapper textarea.wp-editor-area {
358
  width : 100%;
359
  }
360
 
plugin-fw/assets/js/multisite-updater.js CHANGED
@@ -6,18 +6,18 @@
6
  * It is also available through the world-wide-web at this URL:
7
  * http://www.gnu.org/licenses/gpl-3.0.txt
8
  */
9
- (function ($) {
10
 
11
- var plugins_menu_item = $( '#menu-plugins' ),
12
- update = plugins_menu_item.find('.update-plugins'),
13
- count = update.find(".update-count").text(),
14
- registered = plugins.registered,
15
- activated = plugins.activated;
16
 
17
- if( count == 0 || count == ''){
18
  var update_row = '<span class="update-plugins"><span class="plugin-count"></span></span>';
19
- count = 0;
20
- plugins_menu_item.find( '.wp-menu-name').append( update_row );
21
  }
22
 
23
  /**
@@ -38,51 +38,47 @@
38
  *
39
  * @return void
40
  */
41
- function update_plugins_row( registered, activated, count, localize ){
42
- for( var init in registered ){
43
- var plugin = registered[init];
44
- for( var headers in plugin ){
45
 
46
- if( headers == 'slug' || version_compare( plugin[headers].Version, plugin[headers].Latest, '>=' ) ) {
47
  continue;
48
  }
49
 
50
- count = parseInt(count) + 1;
51
- $(".plugin-count").empty().html(count);
52
 
53
- var regex = new RegExp(' ', 'g'),
54
- info = plugin[headers],
55
- name = '' + info.Name,
56
- id = name.replace(regex, '-').trim(),
57
- row = '*[data-slug="' + id.toLowerCase() +'"]';
58
 
59
- $(row).addClass("update");
60
 
61
  var html = '<tr class="plugin-update-tr">' +
62
- '<td colspan="3" class="plugin-update colspanchange">' +
63
- '<div class="update-message">' + localize.strings.new_version.replace( '%plugin_name%', name ) +
64
- '<a class="thickbox" href="' + localize.details_url[init] + '">' + localize.strings.latest.replace( '%latest%', plugin[headers].Latest ) + '</a>';
65
 
66
- if( typeof activated[init] == "undefined" ) {
67
 
68
  html = html +
69
- ' <em>' + localize.strings.unavailable + '</em>' +
70
- localize.strings.activate.replace( '%activate_link%', localize.licence_activation_url ).replace( '%plugin_name%', name );
71
  } else {
72
  html = html +
73
- '. <a href="' + localize.update_url[init] + '">' + localize.strings.update_now + '</a>';
74
- }
75
-
76
- if( typeof localize.changelogs[init] != 'undefined' ){
77
- html = html + localize.changelogs[init];
78
  }
79
 
80
  html = html +
81
- '</div>' +
82
- '</td>' +
83
- '</tr>';
84
 
85
- $(html).insertAfter(row);
86
  }
87
  }
88
  }
@@ -96,7 +92,7 @@
96
  *
97
  * @see php.js library http://phpjs.org/
98
  */
99
- function version_compare(v1, v2, operator) {
100
  // discuss at: http://phpjs.org/functions/version_compare/
101
  // original by: Philippe Jausions (http://pear.php.net/user/jausions)
102
  // original by: Aidan Lister (http://aidanlister.com/)
@@ -113,21 +109,21 @@
113
  // example 4: version_compare('4.1.0.52','4.01.0.51');
114
  // returns 4: 1
115
 
116
- this.php_js = this.php_js || {};
117
  this.php_js.ENV = this.php_js.ENV || {};
118
  // END REDUNDANT
119
  // Important: compare must be initialized at 0.
120
- var i = 0,
121
- x = 0,
122
- compare = 0,
123
- // vm maps textual PHP versions to negatives so they're less than 0.
124
- // PHP currently defines these as CASE-SENSITIVE. It is important to
125
- // leave these as negatives so that they can come before numerical versions
126
- // and as if no letters were there to begin with.
127
- // (1alpha is < 1 and < 1.1 but > 1dev1)
128
- // If a non-numerical value can't be mapped to this table, it receives
129
- // -7 as its value.
130
- vm = {
131
  'dev' : -6,
132
  'alpha': -5,
133
  'a' : -5,
@@ -139,54 +135,54 @@
139
  'p' : 1,
140
  'pl' : 1
141
  },
142
- // This function will be called to prepare each version argument.
143
- // It replaces every _, -, and + with a dot.
144
- // It surrounds any nonsequence of numbers/dots with dots.
145
- // It replaces sequences of dots with a single dot.
146
- // version_compare('4..0', '4.0') == 0
147
- // Important: A string of 0 length needs to be converted into a value
148
- // even less than an unexisting value in vm (-7), hence [-8].
149
- // It's also important to not strip spaces because of this.
150
- // version_compare('', ' ') == 1
151
- prepVersion = function (v) {
152
  v = ('' + v)
153
- .replace(/[_\-+]/g, '.');
154
- v = v.replace(/([^.\d]+)/g, '.$1.')
155
- .replace(/\.{2,}/g, '.');
156
- return (!v.length ? [-8] : v.split('.'));
157
  };
158
  // This converts a version component to a number.
159
  // Empty component becomes 0.
160
  // Non-numerical component becomes a negative number.
161
  // Numerical component becomes itself as an integer.
162
- numVersion = function (v) {
163
- return !v ? 0 : (isNaN(v) ? vm[v] || -7 : parseInt(v, 10));
164
  };
165
- v1 = prepVersion(v1);
166
- v2 = prepVersion(v2);
167
- x = Math.max(v1.length, v2.length);
168
- for (i = 0; i < x; i++) {
169
- if (v1[i] == v2[i]) {
170
  continue;
171
  }
172
- v1[i] = numVersion(v1[i]);
173
- v2[i] = numVersion(v2[i]);
174
- if (v1[i] < v2[i]) {
175
  compare = -1;
176
  break;
177
- } else if (v1[i] > v2[i]) {
178
  compare = 1;
179
  break;
180
  }
181
  }
182
- if (!operator) {
183
  return compare;
184
  }
185
 
186
  // Important: operator is CASE-SENSITIVE.
187
  // "No operator" seems to be treated as "<."
188
  // Any other values seem to make the function return null.
189
- switch (operator) {
190
  case '>':
191
  case 'gt':
192
  return (compare > 0);
@@ -217,6 +213,6 @@
217
  $( 'body' ).on( 'click', '.yit-changelog-button', function () {
218
  $( '#TB_window' ).remove();
219
  } );
220
-
221
 
222
- })(jQuery);
 
6
  * It is also available through the world-wide-web at this URL:
7
  * http://www.gnu.org/licenses/gpl-3.0.txt
8
  */
9
+ (function ( $ ) {
10
 
11
+ var plugins_menu_item = $( '#menu-plugins' ),
12
+ update = plugins_menu_item.find( '.update-plugins' ),
13
+ count = update.find( ".update-count" ).text(),
14
+ registered = plugins.registered,
15
+ activated = plugins.activated;
16
 
17
+ if ( count == 0 || count == '' ) {
18
  var update_row = '<span class="update-plugins"><span class="plugin-count"></span></span>';
19
+ count = 0;
20
+ plugins_menu_item.find( '.wp-menu-name' ).append( update_row );
21
  }
22
 
23
  /**
38
  *
39
  * @return void
40
  */
41
+ function update_plugins_row( registered, activated, count, localize ) {
42
+ for ( var init in registered ) {
43
+ var plugin = registered[ init ];
44
+ for ( var headers in plugin ) {
45
 
46
+ if ( headers == 'slug' || version_compare( plugin[ headers ].Version, plugin[ headers ].Latest, '>=' ) ) {
47
  continue;
48
  }
49
 
50
+ count = parseInt( count ) + 1;
51
+ $( ".plugin-count" ).empty().html( count );
52
 
53
+ var regex = new RegExp( ' ', 'g' ),
54
+ info = plugin[ headers ],
55
+ name = '' + info.Name,
56
+ id = name.replace( regex, '-' ).trim(),
57
+ row = '*[data-slug="' + id.toLowerCase() + '"]';
58
 
59
+ $( row ).addClass( "update" );
60
 
61
  var html = '<tr class="plugin-update-tr">' +
62
+ '<td colspan="3" class="plugin-update colspanchange">' +
63
+ '<div class="update-message">' + localize.strings.new_version.replace( '%plugin_name%', name ) +
64
+ '<a class="thickbox open-plugin-details-modal" href="' + localize.details_url[ init ] + '">' + localize.strings.latest.replace( '%latest%', plugin[ headers ].Latest ) + '</a>';
65
 
66
+ if ( typeof activated[ init ] == "undefined" ) {
67
 
68
  html = html +
69
+ ' <em>' + localize.strings.unavailable + '</em>' +
70
+ localize.strings.activate.replace( '%activate_link%', localize.licence_activation_url ).replace( '%plugin_name%', name );
71
  } else {
72
  html = html +
73
+ '. <a href="' + localize.update_url[ init ] + '">' + localize.strings.update_now + '</a>';
 
 
 
 
74
  }
75
 
76
  html = html +
77
+ '</div>' +
78
+ '</td>' +
79
+ '</tr>';
80
 
81
+ $( html ).insertAfter( row );
82
  }
83
  }
84
  }
92
  *
93
  * @see php.js library http://phpjs.org/
94
  */
95
+ function version_compare( v1, v2, operator ) {
96
  // discuss at: http://phpjs.org/functions/version_compare/
97
  // original by: Philippe Jausions (http://pear.php.net/user/jausions)
98
  // original by: Aidan Lister (http://aidanlister.com/)
109
  // example 4: version_compare('4.1.0.52','4.01.0.51');
110
  // returns 4: 1
111
 
112
+ this.php_js = this.php_js || {};
113
  this.php_js.ENV = this.php_js.ENV || {};
114
  // END REDUNDANT
115
  // Important: compare must be initialized at 0.
116
+ var i = 0,
117
+ x = 0,
118
+ compare = 0,
119
+ // vm maps textual PHP versions to negatives so they're less than 0.
120
+ // PHP currently defines these as CASE-SENSITIVE. It is important to
121
+ // leave these as negatives so that they can come before numerical versions
122
+ // and as if no letters were there to begin with.
123
+ // (1alpha is < 1 and < 1.1 but > 1dev1)
124
+ // If a non-numerical value can't be mapped to this table, it receives
125
+ // -7 as its value.
126
+ vm = {
127
  'dev' : -6,
128
  'alpha': -5,
129
  'a' : -5,
135
  'p' : 1,
136
  'pl' : 1
137
  },
138
+ // This function will be called to prepare each version argument.
139
+ // It replaces every _, -, and + with a dot.
140
+ // It surrounds any nonsequence of numbers/dots with dots.
141
+ // It replaces sequences of dots with a single dot.
142
+ // version_compare('4..0', '4.0') == 0
143
+ // Important: A string of 0 length needs to be converted into a value
144
+ // even less than an unexisting value in vm (-7), hence [-8].
145
+ // It's also important to not strip spaces because of this.
146
+ // version_compare('', ' ') == 1
147
+ prepVersion = function ( v ) {
148
  v = ('' + v)
149
+ .replace( /[_\-+]/g, '.' );
150
+ v = v.replace( /([^.\d]+)/g, '.$1.' )
151
+ .replace( /\.{2,}/g, '.' );
152
+ return (!v.length ? [ -8 ] : v.split( '.' ));
153
  };
154
  // This converts a version component to a number.
155
  // Empty component becomes 0.
156
  // Non-numerical component becomes a negative number.
157
  // Numerical component becomes itself as an integer.
158
+ numVersion = function ( v ) {
159
+ return !v ? 0 : (isNaN( v ) ? vm[ v ] || -7 : parseInt( v, 10 ));
160
  };
161
+ v1 = prepVersion( v1 );
162
+ v2 = prepVersion( v2 );
163
+ x = Math.max( v1.length, v2.length );
164
+ for ( i = 0; i < x; i++ ) {
165
+ if ( v1[ i ] == v2[ i ] ) {
166
  continue;
167
  }
168
+ v1[ i ] = numVersion( v1[ i ] );
169
+ v2[ i ] = numVersion( v2[ i ] );
170
+ if ( v1[ i ] < v2[ i ] ) {
171
  compare = -1;
172
  break;
173
+ } else if ( v1[ i ] > v2[ i ] ) {
174
  compare = 1;
175
  break;
176
  }
177
  }
178
+ if ( !operator ) {
179
  return compare;
180
  }
181
 
182
  // Important: operator is CASE-SENSITIVE.
183
  // "No operator" seems to be treated as "<."
184
  // Any other values seem to make the function return null.
185
+ switch ( operator ) {
186
  case '>':
187
  case 'gt':
188
  return (compare > 0);
213
  $( 'body' ).on( 'click', '.yit-changelog-button', function () {
214
  $( '#TB_window' ).remove();
215
  } );
 
216
 
217
+
218
+ })( jQuery );
plugin-fw/assets/js/multisite-updater.min.js CHANGED
@@ -1,4 +1,7 @@
1
- (function(e){function n(c,d,e){this.php_js=this.php_js||{};this.php_js.ENV=this.php_js.ENV||{};var a=0,f=0,b=0,g={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},a=function(a){a=(""+a).replace(/[_\-+]/g,".");a=a.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,".");return a.length?a.split("."):[-8]};numVersion=function(a){return a?isNaN(a)?g[a]||-7:parseInt(a,10):0};c=a(c);d=a(d);f=Math.max(c.length,d.length);for(a=0;a<f;a++)if(c[a]!=d[a])if(c[a]=numVersion(c[a]),d[a]=numVersion(d[a]),
2
- c[a]<d[a]){b=-1;break}else if(c[a]>d[a]){b=1;break}if(!e)return b;switch(e){case ">":case "gt":return 0<b;case ">=":case "ge":return 0<=b;case "<=":case "le":return 0>=b;case "==":case "=":case "eq":return 0===b;case "<>":case "!=":case "ne":return 0!==b;case "":case "<":case "lt":return 0>b;default:return null}}var l=e("#menu-plugins"),h=l.find(".update-plugins").find(".update-count").text(),p=plugins.registered,q=plugins.activated;if(0==h||""==h)h=0,l.find(".wp-menu-name").append('<span class="update-plugins"><span class="plugin-count"></span></span>');
3
- (function(c,d,h,a){for(var f in c){var b=c[f],g;for(g in b)if("slug"!=g&&!n(b[g].Version,b[g].Latest,">=")){h=parseInt(h)+1;e(".plugin-count").empty().html(h);var m=""+b[g].Name,l='*[data-slug="'+m.replace(RegExp(" ","g"),"-").trim().toLowerCase()+'"]';e(l).addClass("update");var k='<tr class="plugin-update-tr"><td colspan="3" class="plugin-update colspanchange"><div class="update-message">'+a.strings.new_version.replace("%plugin_name%",m)+'<a class="thickbox" href="'+a.details_url[f]+'">'+a.strings.latest.replace("%latest%",
4
- b[g].Latest)+"</a>",k="undefined"==typeof d[f]?k+" <em>"+a.strings.unavailable+"</em>"+a.strings.activate.replace("%activate_link%",a.licence_activation_url).replace("%plugin_name%",m):k+'. <a href="'+a.update_url[f]+'">'+a.strings.update_now+"</a>";"undefined"!=typeof a.changelogs[f]&&(k+=a.changelogs[f]);k+="</div></td></tr>";e(k).insertAfter(l)}}})(p,q,h,plugins);e("body").on("click",".yit-changelog-button",function(){e("#TB_window").remove()})})(jQuery);
 
 
 
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,f,b){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var h=a[e];if(f.call(b,h,e,a))return{i:e,v:h}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,f,b){a!=Array.prototype&&a!=Object.prototype&&(a[f]=b.value)};
2
+ $jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,f,b,d){if(f){b=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in b||(b[e]={});b=b[e]}a=a[a.length-1];d=b[a];f=f(d);f!=d&&null!=f&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:f})}};
3
+ $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
4
+ (function(a){function f(a,b,d){this.php_js=this.php_js||{};this.php_js.ENV=this.php_js.ENV||{};var c=0,f=0,g=0,e={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1};c=function(a){a=(""+a).replace(/[_\-+]/g,".");a=a.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,".");return a.length?a.split("."):[-8]};numVersion=function(a){return a?isNaN(a)?e[a]||-7:parseInt(a,10):0};a=c(a);b=c(b);f=Math.max(a.length,b.length);for(c=0;c<f;c++)if(a[c]!=b[c])if(a[c]=numVersion(a[c]),b[c]=numVersion(b[c]),
5
+ a[c]<b[c]){g=-1;break}else if(a[c]>b[c]){g=1;break}if(!d)return g;switch(d){case ">":case "gt":return 0<g;case ">=":case "ge":return 0<=g;case "<=":case "le":return 0>=g;case "==":case "=":case "eq":return 0===g;case "<>":case "!=":case "ne":return 0!==g;case "":case "<":case "lt":return 0>g;default:return null}}var b=a("#menu-plugins"),d=b.find(".update-plugins").find(".update-count").text(),e=plugins.registered,h=plugins.activated;if(0==d||""==d)d=0,b.find(".wp-menu-name").append('<span class="update-plugins"><span class="plugin-count"></span></span>');
6
+ (function(b,d,e,c){for(var h in b){var g=b[h],k;for(k in g)if("slug"!=k&&!f(g[k].Version,g[k].Latest,">=")){e=parseInt(e)+1;a(".plugin-count").empty().html(e);var m=""+g[k].Name,n='*[data-slug="'+m.replace(/ /g,"-").trim().toLowerCase()+'"]';a(n).addClass("update");var l='<tr class="plugin-update-tr"><td colspan="3" class="plugin-update colspanchange"><div class="update-message">'+c.strings.new_version.replace("%plugin_name%",m)+'<a class="thickbox open-plugin-details-modal" href="'+c.details_url[h]+
7
+ '">'+c.strings.latest.replace("%latest%",g[k].Latest)+"</a>";l="undefined"==typeof d[h]?l+" <em>"+c.strings.unavailable+"</em>"+c.strings.activate.replace("%activate_link%",c.licence_activation_url).replace("%plugin_name%",m):l+'. <a href="'+c.update_url[h]+'">'+c.strings.update_now+"</a>";l+="</div></td></tr>";a(l).insertAfter(n)}}})(e,h,d,plugins);a("body").on("click",".yit-changelog-button",function(){a("#TB_window").remove()})})(jQuery);
plugin-fw/assets/js/yit-plugin-panel.js CHANGED
@@ -125,37 +125,6 @@
125
  } ).disableSelection();
126
  } );
127
 
128
- $( document ).ready( function () {
129
-
130
- $( '.yith-video-link' ).click( function ( event ) {
131
- event.preventDefault();
132
- var target = $( this ).data( 'video-id' );
133
-
134
- $( '.' + target ).dialog( {
135
- dialogClass : 'wp-dialog yit-dialog yit-video-dialog',
136
- modal : true,
137
- closeOnEscape: true,
138
- width : 'auto',
139
- resizable : false,
140
- draggable : false,
141
- create : function ( event, ui ) {
142
- $( this ).css( "maxWidth", "853px" );
143
- },
144
- open : function ( event, ui ) {
145
-
146
- $( '.ui-widget-overlay' ).bind( 'click', function () {
147
- $( this ).siblings( '.ui-dialog' ).find( '.ui-dialog-content' ).dialog( 'close' );
148
- } );
149
-
150
- }
151
-
152
- } );
153
-
154
- $( '.ui-dialog :button' ).blur();
155
-
156
- } );
157
- } );
158
-
159
  //google analytics generation
160
  $( document ).ready( function () {
161
  $( '.google-analytic-generate' ).click( function () {
125
  } ).disableSelection();
126
  } );
127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  //google analytics generation
129
  $( document ).ready( function () {
130
  $( '.google-analytic-generate' ).click( function () {
plugin-fw/assets/js/yit-plugin-panel.min.js CHANGED
@@ -1,5 +1,7 @@
1
- (function(a){function h(b,d,c,f){var e=!0;if("string"==typeof d){":radio"==d.substr(0,6)&&(d+=":checked");var g=a(d).val();"checkbox"==a(d).attr("type")&&(g=a(d).is(":checked")?"yes":"no");c=c.split(",");for(d=0;d<c.length;d++)if(g!=c[d])e=!1;else{e=!0;break}}c=a(b);b=a(b+"-container").closest("tr");1>b.length&&(b=c.closest(".yith-plugin-fw-panel-wc-row"));f=f.split("-");for(var h in f)if(g=f[h],e)switch(g){case "disable":b.removeClass("yith-disabled");c.attr("disabled",!1);break;case "hideme":c.show();
2
- break;default:b.show()}else switch(g){case "disable":b.addClass("yith-disabled");c.attr("disabled",!0);break;case "hideme":c.hide();break;default:b.hide()}}a("[data-dep-target]").each(function(){var b=a(this),d="#"+b.data("dep-target"),c="#"+b.data("dep-id"),f=b.data("dep-value"),e=b.data("dep-type");h(d,c,f.toString(),e);a(c).on("change",function(){h(d,c,f.toString(),e)}).change()});a(".rm_connectedlist").each(function(){var b=a(this).find("ul"),d=a(this).find(":hidden");b.sortable({connectWith:b,
3
- update:function(c,f){var e={};b.each(function(){var b={};a(this).children().each(function(){b[a(this).data("option")]=a(this).text()});e[a(this).data("list")]=b});d.val(JSON.stringify(e).replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0"))}}).disableSelection()});a(document).ready(function(){a(".yith-video-link").click(function(b){b.preventDefault();b=a(this).data("video-id");a("."+b).dialog({dialogClass:"wp-dialog yit-dialog yit-video-dialog",modal:!0,closeOnEscape:!0,width:"auto",resizable:!1,draggable:!1,
4
- create:function(b,c){a(this).css("maxWidth","853px")},open:function(b,c){a(".ui-widget-overlay").bind("click",function(){a(this).siblings(".ui-dialog").find(".ui-dialog-content").dialog("close")})}});a(".ui-dialog :button").blur()})});a(document).ready(function(){a(".google-analytic-generate").click(function(){var b=a("#"+a(this).data("textarea")).data("codemirrorInstance"),d=a("#"+a(this).data("input")).val(),c=a(this).data("basename");b.replaceRange("(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement( o ),\nm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n"+
5
- ("ga('create', '"+d+"', '"+c+"');\n")+"ga('send', 'pageview');\n",b.getCursor("start"),b.getCursor("end"))})});a(".yith-plugin-fw-panel .woo-nav-tab-wrapper").removeClass("woo-nav-tab-wrapper").addClass("yith-nav-tab-wrapper")})(jQuery);
 
 
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,e,b){a instanceof String&&(a=String(a));for(var c=a.length,d=0;d<c;d++){var g=a[d];if(e.call(b,g,d,a))return{i:d,v:g}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,e,b){a!=Array.prototype&&a!=Object.prototype&&(a[e]=b.value)};
2
+ $jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,e,b,c){if(e){b=$jscomp.global;a=a.split(".");for(c=0;c<a.length-1;c++){var d=a[c];d in b||(b[d]={});b=b[d]}a=a[a.length-1];c=b[a];e=e(c);e!=c&&null!=e&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:e})}};
3
+ $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
4
+ (function(a){function e(b,c,d,e){var f=!0;if("string"==typeof c){":radio"==c.substr(0,6)&&(c+=":checked");var h=a(c).val();"checkbox"==a(c).attr("type")&&(h=a(c).is(":checked")?"yes":"no");d=d.split(",");for(c=0;c<d.length;c++)if(h!=d[c])f=!1;else{f=!0;break}}d=a(b);b=a(b+"-container").closest("tr");1>b.length&&(b=d.closest(".yith-plugin-fw-panel-wc-row"));e=e.split("-");for(var g in e)if(h=e[g],f)switch(h){case "disable":b.removeClass("yith-disabled");d.attr("disabled",!1);break;case "hideme":d.show();
5
+ break;default:b.show()}else switch(h){case "disable":b.addClass("yith-disabled");d.attr("disabled",!0);break;case "hideme":d.hide();break;default:b.hide()}}a("[data-dep-target]").each(function(){var b=a(this),c="#"+b.data("dep-target"),d="#"+b.data("dep-id"),g=b.data("dep-value"),f=b.data("dep-type");e(c,d,g.toString(),f);a(d).on("change",function(){e(c,d,g.toString(),f)}).change()});a(".rm_connectedlist").each(function(){var b=a(this).find("ul"),c=a(this).find(":hidden");b.sortable({connectWith:b,
6
+ update:function(d,e){var f={};b.each(function(){var b={};a(this).children().each(function(){b[a(this).data("option")]=a(this).text()});f[a(this).data("list")]=b});c.val(JSON.stringify(f).replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0"))}}).disableSelection()});a(document).ready(function(){a(".google-analytic-generate").click(function(){var b=a("#"+a(this).data("textarea")).data("codemirrorInstance"),c=a("#"+a(this).data("input")).val(),d=a(this).data("basename");b.replaceRange("(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement( o ),\nm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n"+
7
+ ("ga('create', '"+c+"', '"+d+"');\n")+"ga('send', 'pageview');\n",b.getCursor("start"),b.getCursor("end"))})});a(".yith-plugin-fw-panel .woo-nav-tab-wrapper").removeClass("woo-nav-tab-wrapper").addClass("yith-nav-tab-wrapper")})(jQuery);
plugin-fw/init.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
- * Version: 3.0.11
5
  * Author: Yithemes
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author Your Inspiration Themes
10
- * @version 3.0.11
11
  */
12
  /**
13
  * This file belongs to the YIT Plugin Framework.
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
+ * Version: 3.0.15
5
  * Author: Yithemes
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author Your Inspiration Themes
10
+ * @version 3.0.15
11
  */
12
  /**
13
  * This file belongs to the YIT Plugin Framework.
plugin-fw/lib/yit-metabox.php CHANGED
@@ -520,7 +520,11 @@ if ( !class_exists( 'YIT_Metabox' ) ) {
520
  if ( in_array( $field[ 'type' ], array( 'onoff', 'checkbox' ) ) ) {
521
  update_post_meta( $post_id, $field[ 'id' ], '1' );
522
  } else {
523
- add_post_meta( $post_id, $field[ 'id' ], $_POST[ 'yit_metaboxes' ][ $field[ 'id' ] ], true ) || update_post_meta( $post_id, $field[ 'id' ], $_POST[ 'yit_metaboxes' ][ $field[ 'id' ] ] );
 
 
 
 
524
  }
525
  } elseif ( in_array( $field[ 'type' ], array( 'onoff', 'checkbox' ) ) ) {
526
  update_post_meta( $post_id, $field[ 'id' ], '0' );
520
  if ( in_array( $field[ 'type' ], array( 'onoff', 'checkbox' ) ) ) {
521
  update_post_meta( $post_id, $field[ 'id' ], '1' );
522
  } else {
523
+ $value = $_POST[ 'yit_metaboxes' ][ $field[ 'id' ] ];
524
+ if ( !empty( $field[ 'yith-sanitize-callback' ] ) && is_callable( $field[ 'yith-sanitize-callback' ] ) ) {
525
+ $value = call_user_func( $field[ 'yith-sanitize-callback' ], $value );
526
+ }
527
+ add_post_meta( $post_id, $field[ 'id' ], $value, true ) || update_post_meta( $post_id, $field[ 'id' ], $value );
528
  }
529
  } elseif ( in_array( $field[ 'type' ], array( 'onoff', 'checkbox' ) ) ) {
530
  update_post_meta( $post_id, $field[ 'id' ], '0' );
plugin-fw/lib/yit-plugin-panel-wc.php CHANGED
@@ -93,7 +93,6 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
93
  if ( !static::$_actions_initialized ) {
94
  /* Add VideoBox and InfoBox */
95
  add_action( 'woocommerce_admin_field_boxinfo', array( __CLASS__, 'add_infobox' ), 10, 1 );
96
- add_action( 'woocommerce_admin_field_videobox', array( __CLASS__, 'add_videobox' ), 10, 1 );
97
 
98
  /* Add YITH Fields */
99
  add_action( 'woocommerce_admin_field_yith-field', array( __CLASS__, 'add_yith_field' ), 10, 1 );
@@ -521,9 +520,13 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
521
  $value = yith_plugin_fw_is_true( $raw_value ) ? 'yes' : 'no';
522
  }
523
 
524
- if ( isset( $option[ 'yith-type' ] ) && in_array( $option[ 'yith-type' ], array( 'textarea-editor', 'textarea-codemirror' ) ) ) {
525
  $value = $raw_value;
526
  }
 
 
 
 
527
  }
528
 
529
  return $value;
93
  if ( !static::$_actions_initialized ) {
94
  /* Add VideoBox and InfoBox */
95
  add_action( 'woocommerce_admin_field_boxinfo', array( __CLASS__, 'add_infobox' ), 10, 1 );
 
96
 
97
  /* Add YITH Fields */
98
  add_action( 'woocommerce_admin_field_yith-field', array( __CLASS__, 'add_yith_field' ), 10, 1 );
520
  $value = yith_plugin_fw_is_true( $raw_value ) ? 'yes' : 'no';
521
  }
522
 
523
+ if ( isset( $option[ 'yith-type' ] ) && in_array( $option[ 'yith-type' ], array( 'textarea', 'textarea-editor', 'textarea-codemirror' ) ) ) {
524
  $value = $raw_value;
525
  }
526
+
527
+ if ( !empty( $option[ 'yith-sanitize-callback' ] ) && is_callable( $option[ 'yith-sanitize-callback' ] ) ) {
528
+ $value = call_user_func( $option[ 'yith-sanitize-callback' ], $value );
529
+ }
530
  }
531
 
532
  return $value;
plugin-fw/lib/yit-plugin-panel.php CHANGED
@@ -274,6 +274,11 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
274
  if ( isset( $option[ 'type' ] ) && in_array( $option[ 'type' ], array( 'checkbox', 'onoff' ) ) ) {
275
  $value = yith_plugin_fw_is_true( $value ) ? 'yes' : 'no';
276
  }
 
 
 
 
 
277
  $valid_input[ $option[ 'id' ] ] = $value;
278
  }
279
  }
@@ -363,7 +368,6 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
363
  return;
364
  }
365
  ?>
366
- <?php $this->print_video_box(); ?>
367
  <?php
368
  $panel_content_class = apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' );
369
  ?>
@@ -605,8 +609,11 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
605
  return $this->_main_array_options;
606
  }
607
 
 
 
608
  foreach ( $this->settings[ 'admin-tabs' ] as $item => $v ) {
609
- $path = $this->settings[ 'options-path' ] . '/' . $item . '-options.php';
 
610
  if ( file_exists( $path ) ) {
611
  $this->_main_array_options = array_merge( $this->_main_array_options, include $path );
612
  }
@@ -854,36 +861,24 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
854
  /**
855
  * Show a box panel with specific content in two columns as a new woocommerce type
856
  *
 
 
857
  * @param array $args
858
  *
859
  * @return void
860
- * @since 1.0
861
- * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
862
  */
863
  public static function add_videobox( $args = array() ) {
864
- if ( !empty( $args ) ) {
865
- extract( $args );
866
- require_once( YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/videobox.php' );
867
- }
868
  }
869
 
870
  /**
871
  * Fire the action to print the custom tab
872
  *
 
873
  * @return void
874
- * @since 1.0
875
- * @author Antonino Scarfì <antonino.scarfi@yithemes.com>
876
  */
877
  public function print_video_box() {
878
- $file = $this->settings[ 'options-path' ] . '/video-box.php';
879
-
880
- if ( !file_exists( $file ) ) {
881
- return;
882
- }
883
-
884
- $args = include_once( $file );
885
 
886
- $this->add_videobox( $args );
887
  }
888
 
889
  /**
274
  if ( isset( $option[ 'type' ] ) && in_array( $option[ 'type' ], array( 'checkbox', 'onoff' ) ) ) {
275
  $value = yith_plugin_fw_is_true( $value ) ? 'yes' : 'no';
276
  }
277
+
278
+ if ( !empty( $option[ 'yith-sanitize-callback' ] ) && is_callable( $option[ 'yith-sanitize-callback' ] ) ) {
279
+ $value = call_user_func( $option[ 'yith-sanitize-callback' ], $value );
280
+ }
281
+
282
  $valid_input[ $option[ 'id' ] ] = $value;
283
  }
284
  }
368
  return;
369
  }
370
  ?>
 
371
  <?php
372
  $panel_content_class = apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' );
373
  ?>
609
  return $this->_main_array_options;
610
  }
611
 
612
+ $options_path = $this->settings[ 'options-path' ];
613
+
614
  foreach ( $this->settings[ 'admin-tabs' ] as $item => $v ) {
615
+ $path = $options_path . '/' . $item . '-options.php';
616
+ $path = apply_filters( 'yith_plugin_panel_item_options_path', $path, $options_path, $item, $this );
617
  if ( file_exists( $path ) ) {
618
  $this->_main_array_options = array_merge( $this->_main_array_options, include $path );
619
  }
861
  /**
862
  * Show a box panel with specific content in two columns as a new woocommerce type
863
  *
864
+ * @deprecated 3.0.12 Do nothing! Method left to prevent Fatal Error if called directly
865
+ *
866
  * @param array $args
867
  *
868
  * @return void
 
 
869
  */
870
  public static function add_videobox( $args = array() ) {
871
+
 
 
 
872
  }
873
 
874
  /**
875
  * Fire the action to print the custom tab
876
  *
877
+ * @deprecated 3.0.12 Do nothing! Method left to prevent Fatal Error if called directly
878
  * @return void
 
 
879
  */
880
  public function print_video_box() {
 
 
 
 
 
 
 
881
 
 
882
  }
883
 
884
  /**
plugin-fw/lib/yit-plugin-subpanel.php CHANGED
@@ -139,7 +139,6 @@ if ( !class_exists( 'YIT_Plugin_SubPanel' ) ) {
139
  return;
140
  }
141
  ?>
142
- <?php $this->print_video_box(); ?>
143
  <?php
144
  $panel_content_class = apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' );
145
  ?>
139
  return;
140
  }
141
  ?>
 
142
  <?php
143
  $panel_content_class = apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' );
144
  ?>
plugin-fw/lib/yit-upgrade.php CHANGED
@@ -62,6 +62,40 @@ if ( !class_exists( 'YIT_Upgrade' ) ) {
62
  $this->_package_url = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
63
  add_filter( 'block_local_requests', '__return_false' );
64
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
 
67
  /**
@@ -89,36 +123,49 @@ if ( !class_exists( 'YIT_Upgrade' ) ) {
89
  'slug' => $plugin_slug,
90
  );
91
 
92
- /* === HOOKS === */
93
- if ( !is_multisite() || is_plugin_active_for_network( $plugin_init ) ) {
94
- add_action( 'load-plugins.php', array( $this, 'remove_wp_plugin_update_row' ), 25 );
95
- add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
96
- } else if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
97
- $transient = 'yith_register_' . md5( $plugin_slug );
98
- if ( apply_filters( 'yith_register_delete_transient', false ) ) {
99
- delete_transient( $transient );
100
- }
101
- $info = get_transient( $transient );
102
- if ( false === $info || apply_filters( 'yith_register_delete_transient', false ) ) {
103
- $xml = str_replace( '%plugin_slug%', $plugin_slug, $this->_xml );
104
- $remote_xml = wp_remote_get( $xml );
105
-
106
- if ( !is_wp_error( $remote_xml ) && isset( $remote_xml[ 'response' ][ 'code' ] ) && '200' == $remote_xml[ 'response' ][ 'code' ] ) {
107
- $plugin_remote_info = @simplexml_load_string( $remote_xml[ 'body' ] );
108
- if ( $plugin_remote_info ) {
109
- $info[ 'Latest' ] = (string) $plugin_remote_info->latest;
110
- $info[ 'changelog' ] = (string) $plugin_remote_info->changelog;
111
  YIT_Plugin_Licence()->check( $plugin_slug, false );
112
- set_transient( $transient, $info, DAY_IN_SECONDS );
113
- } else {
114
- error_log( sprintf( 'SimpleXML error in %s:%s [plugin slug: %s]',
115
- __FILE__, __FUNCTION__, $plugin_slug ) );
116
  }
 
 
 
 
 
117
  }
 
 
118
  }
119
 
120
- $this->_plugins[ $plugin_init ][ 'info' ][ 'Latest' ] = $info[ 'Latest' ];
121
- $this->_plugins[ $plugin_init ][ 'info' ][ 'changelog' ] = $info[ 'changelog' ];
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  add_action( 'admin_enqueue_scripts', array( $this, 'multisite_updater_script' ) );
123
  }
124
  }
@@ -132,7 +179,6 @@ if ( !class_exists( 'YIT_Upgrade' ) ) {
132
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
133
  */
134
  public function multisite_updater_script() {
135
-
136
  $update_url = $changelogs = $details_url = array();
137
  $strings = array(
138
  'new_version' => __( 'There is a new version of %plugin_name% available.', 'yith-plugin-fw' ),
@@ -145,10 +191,7 @@ if ( !class_exists( 'YIT_Upgrade' ) ) {
145
 
146
  foreach ( $this->_plugins as $init => $info ) {
147
  $update_url[ $init ] = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin-multisite&plugin=' ) . $init, 'upgrade-plugin-multisite_' . $init );
148
- $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
149
- $details_url[ $init ] = '#TB_inline' . esc_url( add_query_arg( array( 'width' => 722, 'height' => 914, 'inlineId' => $changelog_id ), '' ) );
150
- $plugin_changelog = isset( $this->_plugins[ $init ][ 'info' ][ 'changelog' ] ) ? $this->_plugins[ $init ][ 'info' ][ 'changelog' ] : '';
151
- $changelogs[ $init ] = $this->in_theme_update_message( $this->_plugins[ $init ], $plugin_changelog, $changelog_id, false );
152
  }
153
 
154
  $localize_script_args = array(
@@ -158,7 +201,6 @@ if ( !class_exists( 'YIT_Upgrade' ) ) {
158
  'update_url' => $update_url,
159
  'details_url' => $details_url,
160
  'strings' => $strings,
161
- 'changelogs' => $changelogs
162
  );
163
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
164
  yit_enqueue_script( 'yit-multisite-updater', YIT_CORE_PLUGIN_URL . '/assets/js/multisite-updater' . $suffix . '.js', array( 'jquery' ), false, true );
@@ -432,7 +474,7 @@ if ( !class_exists( 'YIT_Upgrade' ) ) {
432
  $r = $current->response[ $init ];
433
 
434
  $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
435
- $details_url = '#TB_inline' . esc_url( add_query_arg( array( 'width' => 722, 'height' => 914, 'inlineId' => $changelog_id ), '' ) );
436
 
437
  /**
438
  * @see wp_plugin_update_rows() in wp-single\wp-admin\includes\update.php
@@ -493,14 +535,12 @@ if ( !class_exists( 'YIT_Upgrade' ) ) {
493
  foreach ( $this->_plugins as $init => $plugin ) {
494
  remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10 );
495
  add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
496
- add_action( "in_theme_update_message-{$init}", array( $this, 'in_theme_update_message' ), 10, 3 );
497
  }
498
  }
499
 
500
  public function in_theme_update_message( $plugin, $changelog, $changelog_id, $echo = true ) {
501
-
502
- $res
503
- = "<div id='{$changelog_id}' class='yit-plugin-changelog-wrapper'>
504
  <div class='yit-plugin-changelog'>
505
  <h2 class='yit-plugin-changelog-title'>{$plugin['info']['Name']} - Changelog</h2>
506
  <p>{$changelog}</p>
62
  $this->_package_url = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
63
  add_filter( 'block_local_requests', '__return_false' );
64
  }
65
+
66
+ add_action( 'install_plugins_pre_plugin-information', array( $this, 'show_changelog_for_premium_plugins' ) );
67
+ add_action( 'wp_ajax_yith_plugin_fw_get_premium_changelog', array( $this, 'show_changelog_for_premium_plugins' ) );
68
+ }
69
+
70
+ /**
71
+ * show changelog for premium plugins
72
+ *
73
+ * @since 3.0.14
74
+ */
75
+ public function show_changelog_for_premium_plugins() {
76
+ if ( isset( $_GET[ 'plugin' ] ) && isset( $_GET[ 'section' ] ) && 'changelog' === $_GET[ 'section' ] ) {
77
+ $plugin_init = $_GET[ 'plugin' ];
78
+ if ( isset( $this->_plugins[ $plugin_init ] ) ) {
79
+ // this is YITH Premium Plugin
80
+ if ( !empty( $this->_plugins[ $plugin_init ][ 'info' ][ 'changelog' ] ) ) {
81
+ $plugin_name = $this->_plugins[ $plugin_init ][ 'info' ][ 'Name' ];
82
+ $changelog = $this->_plugins[ $plugin_init ][ 'info' ][ 'changelog' ];
83
+ $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/upgrade/changelog.php';
84
+ if ( file_exists( $template ) ) {
85
+ include( $template );
86
+ }
87
+ die();
88
+ }
89
+ $error = __( 'An unexpected error occurred, please try again later. Thanks!', 'yith-plugin-fw' );
90
+ $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/upgrade/error.php';
91
+ if ( file_exists( $template ) ) {
92
+ include( $template );
93
+ } else {
94
+ echo "<p>$error</p>";
95
+ }
96
+ die();
97
+ }
98
+ }
99
  }
100
 
101
  /**
123
  'slug' => $plugin_slug,
124
  );
125
 
126
+ $transient = 'yith_register_' . md5( $plugin_slug );
127
+ if ( apply_filters( 'yith_register_delete_transient', false ) ) {
128
+ delete_transient( $transient );
129
+ }
130
+ $info = get_transient( $transient );
131
+ if ( false === $info || apply_filters( 'yith_register_delete_transient', false ) ) {
132
+ $xml = str_replace( '%plugin_slug%', $plugin_slug, $this->_xml );
133
+ $remote_xml = wp_remote_get( $xml );
134
+
135
+ $error = false;
136
+ if ( !is_wp_error( $remote_xml ) && isset( $remote_xml[ 'response' ][ 'code' ] ) && '200' == $remote_xml[ 'response' ][ 'code' ] ) {
137
+ $plugin_remote_info = @simplexml_load_string( $remote_xml[ 'body' ] );
138
+ if ( $plugin_remote_info ) {
139
+ $info[ 'Latest' ] = (string) $plugin_remote_info->latest;
140
+ $info[ 'changelog' ] = (string) $plugin_remote_info->changelog;
141
+ if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
 
 
 
142
  YIT_Plugin_Licence()->check( $plugin_slug, false );
 
 
 
 
143
  }
144
+ set_transient( $transient, $info, DAY_IN_SECONDS );
145
+ } else {
146
+ $error = true;
147
+ error_log( sprintf( 'SimpleXML error in %s:%s [plugin slug: %s]',
148
+ __FILE__, __FUNCTION__, $plugin_slug ) );
149
  }
150
+ } else {
151
+ $error = true;
152
  }
153
 
154
+ if ( $error ) {
155
+ // If error, set empty value in the transient to prevent multiple requests
156
+ $info = array( 'Latest' => '', 'changelog' => '' );
157
+ set_transient( $transient, $info, HOUR_IN_SECONDS );
158
+ }
159
+ }
160
+
161
+ $this->_plugins[ $plugin_init ][ 'info' ][ 'Latest' ] = $info[ 'Latest' ];
162
+ $this->_plugins[ $plugin_init ][ 'info' ][ 'changelog' ] = $info[ 'changelog' ];
163
+
164
+ /* === HOOKS === */
165
+ if ( !is_multisite() || is_plugin_active_for_network( $plugin_init ) ) {
166
+ add_action( 'load-plugins.php', array( $this, 'remove_wp_plugin_update_row' ), 25 );
167
+ add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
168
+ } else if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
169
  add_action( 'admin_enqueue_scripts', array( $this, 'multisite_updater_script' ) );
170
  }
171
  }
179
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
180
  */
181
  public function multisite_updater_script() {
 
182
  $update_url = $changelogs = $details_url = array();
183
  $strings = array(
184
  'new_version' => __( 'There is a new version of %plugin_name% available.', 'yith-plugin-fw' ),
191
 
192
  foreach ( $this->_plugins as $init => $info ) {
193
  $update_url[ $init ] = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin-multisite&plugin=' ) . $init, 'upgrade-plugin-multisite_' . $init );
194
+ $details_url[ $init ] = admin_url( 'admin-ajax.php?action=yith_plugin_fw_get_premium_changelog&tab=plugin-information&plugin=' . $init . '&section=changelog&TB_iframe=true&width=640&height=662' );
 
 
 
195
  }
196
 
197
  $localize_script_args = array(
201
  'update_url' => $update_url,
202
  'details_url' => $details_url,
203
  'strings' => $strings,
 
204
  );
205
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
206
  yit_enqueue_script( 'yit-multisite-updater', YIT_CORE_PLUGIN_URL . '/assets/js/multisite-updater' . $suffix . '.js', array( 'jquery' ), false, true );
474
  $r = $current->response[ $init ];
475
 
476
  $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
477
+ $details_url = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $init . '&section=changelog&TB_iframe=true&width=640&height=662' );
478
 
479
  /**
480
  * @see wp_plugin_update_rows() in wp-single\wp-admin\includes\update.php
535
  foreach ( $this->_plugins as $init => $plugin ) {
536
  remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10 );
537
  add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
538
+ //add_action( "in_theme_update_message-{$init}", array( $this, 'in_theme_update_message' ), 10, 3 );
539
  }
540
  }
541
 
542
  public function in_theme_update_message( $plugin, $changelog, $changelog_id, $echo = true ) {
543
+ $res = "<div id='{$changelog_id}' class='yit-plugin-changelog-wrapper'>
 
 
544
  <div class='yit-plugin-changelog'>
545
  <h2 class='yit-plugin-changelog-title'>{$plugin['info']['Name']} - Changelog</h2>
546
  <p>{$changelog}</p>
plugin-fw/lib/yit-video.php CHANGED
@@ -135,6 +135,7 @@ if ( ! class_exists( 'YIT_Video' ) ) {
135
  public static function video_id_by_url( $url ) {
136
  $parsed = parse_url( esc_url( $url ) );
137
 
 
138
  if ( ! isset( $parsed['host'] ) ) {
139
  return false;
140
  }
@@ -150,7 +151,8 @@ if ( ! class_exists( 'YIT_Video' ) ) {
150
 
151
  case 'www.vimeo.com' :
152
  case 'vimeo.com' :
153
- preg_match( '/http(s)?:\/\/(\w+.)?vimeo\.com\/(.*)?(\/[0-9]+)/', $url, $matches );
 
154
  $id = trim( $matches[4], '/' );
155
  return "vimeo:$id";
156
 
135
  public static function video_id_by_url( $url ) {
136
  $parsed = parse_url( esc_url( $url ) );
137
 
138
+
139
  if ( ! isset( $parsed['host'] ) ) {
140
  return false;
141
  }
151
 
152
  case 'www.vimeo.com' :
153
  case 'vimeo.com' :
154
+ preg_match( '/http(s)?:\/\/(\w+.)?vimeo\.com\/(.*\/)?([0-9]+)/', $url, $matches );
155
+
156
  $id = trim( $matches[4], '/' );
157
  return "vimeo:$id";
158
 
plugin-fw/licence/lib/yit-licence.php CHANGED
@@ -198,8 +198,8 @@ if ( !class_exists( 'YIT_Licence' ) ) {
198
  )
199
  );
200
 
201
- /* Enqueue Scripts only in Licence Activation page */
202
- if ( strpos( get_current_screen()->id, 'yith_plugins_activation' ) !== false ) {
203
  wp_enqueue_script( 'yit-licence' );
204
  wp_enqueue_style( 'yit-theme-licence' );
205
  }
198
  )
199
  );
200
 
201
+ /* Enqueue Scripts only in Licence Activation page of plugins and themes */
202
+ if ( strpos( get_current_screen()->id, 'yith_plugins_activation' ) !== false || strpos( get_current_screen()->id, 'yit_panel_license' ) !== false ) {
203
  wp_enqueue_script( 'yit-licence' );
204
  wp_enqueue_style( 'yit-theme-licence' );
205
  }
plugin-fw/licence/lib/yit-plugin-licence.php CHANGED
@@ -105,7 +105,7 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
105
  <div class="notice notice-error">
106
  <p><strong>Warning!</strong> You didn't set license key for the following products:
107
  <?php echo $product_list ?>
108
- which means you're missing out on updates and support. <a href='<?php echo $activation_url ?>'>Enter your license key</a></p>
109
  </div>
110
  <?php
111
  }
105
  <div class="notice notice-error">
106
  <p><strong>Warning!</strong> You didn't set license key for the following products:
107
  <?php echo $product_list ?>
108
+ which means you're missing out on updates and support. <a href='<?php echo $activation_url ?>'>Enter your license key</a>, please.</p>
109
  </div>
110
  <?php
111
  }
plugin-fw/templates/fields/onoff.php CHANGED
@@ -18,4 +18,9 @@ extract( $field );
18
  <div class="yith-plugin-fw-onoff-container">
19
  <input type="checkbox" id="<?php echo $id ?>" name="<?php echo $name ?>" value="<?php echo esc_attr( $value ) ?>" <?php checked( yith_plugin_fw_is_true( $value ) ) ?> class="on_off" <?php if ( isset( $std ) ) : ?>data-std="<?php echo $std ?>"<?php endif ?> />
20
  <span class="yith-plugin-fw-onoff">&nbsp;</span>
21
- </div>
 
 
 
 
 
18
  <div class="yith-plugin-fw-onoff-container">
19
  <input type="checkbox" id="<?php echo $id ?>" name="<?php echo $name ?>" value="<?php echo esc_attr( $value ) ?>" <?php checked( yith_plugin_fw_is_true( $value ) ) ?> class="on_off" <?php if ( isset( $std ) ) : ?>data-std="<?php echo $std ?>"<?php endif ?> />
20
  <span class="yith-plugin-fw-onoff">&nbsp;</span>
21
+ </div>
22
+ <?php
23
+ if ( isset( $field[ 'desc-inline' ] ) ) {
24
+ echo "<span class='description inline'>" . $field[ 'desc-inline' ] . "</span>";
25
+ }
26
+ ?>
plugin-fw/templates/fields/radio.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Plugin Framework.
4
+ *
5
+ * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
6
+ * that is bundled with this package in the file LICENSE.txt.
7
+ * It is also available through the world-wide-web at this URL:
8
+ * http://www.gnu.org/licenses/gpl-3.0.txt
9
+ *
10
+ * @var array $field
11
+ */
12
+
13
+ /** @since 3.0.13 */
14
+
15
+ !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
16
+
17
+ extract( $field );
18
+
19
+ $class = isset( $class ) ? $class : '';
20
+ $class = 'yith-plugin-fw-radio ' . $class;
21
+ ?>
22
+ <div class="<?php echo $class ?>" id="<?php echo $id ?>"
23
+ <?php echo $custom_attributes ?>
24
+ <?php if ( isset( $data ) ) echo yith_plugin_fw_html_data_to_string( $data ); ?> value="<?php echo $value ?>">
25
+ <?php foreach ( $options as $key => $label ) :
26
+ $radio_id = sanitize_key( $id . '-' . $key );
27
+ ?>
28
+ <div class="yith-plugin-fw-radio__row">
29
+ <input type="radio" id="<?php echo $radio_id ?>" name="<?php echo $name ?>" value="<?php echo esc_attr( $key ) ?>" <?php checked( $key, $value ); ?> />
30
+ <label for="<?php echo $radio_id ?>"><?php echo $label ?></label>
31
+ </div>
32
+ <?php endforeach; ?>
33
+ </div>
plugin-fw/templates/panel/videobox.php DELETED
@@ -1,83 +0,0 @@
1
- <?php
2
- /**
3
- * This file belongs to the YIT Plugin Framework.
4
- *
5
- * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
6
- * that is bundled with this package in the file LICENSE.txt.
7
- * It is also available through the world-wide-web at this URL:
8
- * http://www.gnu.org/licenses/gpl-3.0.txt
9
- */
10
-
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- } // Exit if accessed directly
14
-
15
- /**
16
- * Example to call this template
17
- *
18
- * 'section_general_settings_videobox' => array(
19
- * 'name' => __( 'Title of box', 'yith-plugin-fw' ),
20
- * 'type' => 'videobox',
21
- * 'default' => array(
22
- * 'plugin_name' => __( 'Plugin Name', 'yith-plugin-fw' ),
23
- * 'title_first_column' => __( 'Title first column', 'yith-plugin-fw' ),
24
- * 'description_first_column' => __('Lorem ipsum ... ', 'yith-plugin-fw'),
25
- * 'video' => array(
26
- * 'video_id' => 'vimeo_code',
27
- * 'video_image_url' => '#',
28
- * 'video_description' => __( 'Lorem ipsum dolor sit amet....', 'yith-plugin-fw' ),
29
- * ),
30
- * 'title_second_column' => __( 'Title first column', 'yith-plugin-fw' ),
31
- * 'description_second_column' => __('Lorem ipsum dolor sit amet.... ', 'yith-plugin-fw'),
32
- * 'button' => array(
33
- * 'href' => 'http://www.yithemes.com',
34
- * 'title' => 'Get Support and Pro Features'
35
- * )
36
- * ),
37
- * 'id' => 'yith_wcas_general_videobox'
38
- * ),
39
- */
40
- ?>
41
- <div id="normal-sortables" class="meta-box-sortables yith-videobox-wrapper">
42
- <div id="<?php echo $id ?>" class="postbox">
43
- <h3><span><?php echo $name ?></span></h3>
44
- <div class="inside">
45
- <div class="yith_videobox">
46
- <div class="column"><h2><?php echo $default['title_first_column'] ?></h2>
47
- <?php if ( isset( $default['video'] ) && !empty( $default['video'] ) ): ?>
48
- <a class="yith-video-link" href="#" data-video-id="yith-video-iframe">
49
- <img src="<?php echo $default['video']['video_image_url'] ?>">
50
- </a>
51
-
52
- <p class="yit-video-description">
53
- <?php echo $default['video']['video_description'] ?>
54
- </p>
55
-
56
- <p class="yith-video-iframe">
57
- <iframe src="//player.vimeo.com/video/<?php echo $default['video']['video_id'] ?>?title=0&amp;byline=0&amp;portrait=0" width="853" height="480" frameborder="0"></iframe>
58
- </p>
59
- <?php endif ?>
60
- <?php if ( isset( $default['image'] ) && !empty( $default['image'] ) ): ?>
61
- <a href="<?php echo $default['image']['image_link'] ?>" target="_blank" class="yith-image-frame">
62
- <img src="<?php echo $default['image']['image_url'] ?>">
63
- </a>
64
- <?php endif ?>
65
- <?php if ( isset( $default['description_first_column'] ) && $default['description_first_column'] != '' ): ?>
66
- <p><?php echo $default['description_first_column'] ?></p>
67
- <?php endif ?>
68
- </div>
69
- <div class="column two">
70
- <h2><?php echo $default['title_second_column'] ?>?</h2>
71
-
72
- <p><?php echo $default['description_second_column'] ?></p>
73
-
74
- <?php if ( isset( $default['button'] ) && !empty( $default['button'] ) ): ?>
75
- <p>
76
- <a class="button-primary" href="<?php echo $default['button']['href'] ?>" target="_blank"><?php echo $default['button']['title'] ?></a>
77
- </p>
78
- <?php endif ?>
79
- </div>
80
- </div>
81
- </div>
82
- </div>
83
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/templates/upgrade/changelog.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Plugin Framework.
4
+ *
5
+ * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
6
+ * that is bundled with this package in the file LICENSE.txt.
7
+ * It is also available through the world-wide-web at this URL:
8
+ * http://www.gnu.org/licenses/gpl-3.0.txt
9
+ *
10
+ * @var string $plugin_name
11
+ * @var string $changelog
12
+ *
13
+ */
14
+ ?>
15
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
16
+ <head>
17
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
18
+ <meta name="viewport" content="width=device-width">
19
+ <meta name="robots" content="noindex,follow">
20
+ <title><?php echo $plugin_name ?> - Changelog</title>
21
+ <style type="text/css">
22
+ body {
23
+ background : #ffffff;
24
+ color : #444;
25
+ font-family : -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
26
+ font-size : 13px;
27
+ line-height : 1.4em;
28
+ padding : 10px;
29
+ }
30
+
31
+ h2.yith-plugin-changelog-title {
32
+ text-transform : uppercase;
33
+ font-size : 17px;
34
+ }
35
+
36
+ ul {
37
+ list-style : none;
38
+ padding : 0;
39
+ }
40
+
41
+ li {
42
+ display : list-item;
43
+ margin-bottom : 6px;
44
+ }
45
+ </style>
46
+ </head>
47
+ <body>
48
+ <h2 class='yith-plugin-changelog-title'><?php echo $plugin_name ?> - Changelog</h2>
49
+ <div class='yith-plugin-changelog'><?php echo $changelog ?></div>
50
+ </body>
51
+ </html>
plugin-fw/templates/upgrade/error.php ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Plugin Framework.
4
+ *
5
+ * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
6
+ * that is bundled with this package in the file LICENSE.txt.
7
+ * It is also available through the world-wide-web at this URL:
8
+ * http://www.gnu.org/licenses/gpl-3.0.txt
9
+ *
10
+ * @var string $plugin_name
11
+ * @var string $changelog
12
+ *
13
+ */
14
+ ?>
15
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
16
+ <head>
17
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
18
+ <meta name="viewport" content="width=device-width">
19
+ <meta name="robots" content="noindex,follow">
20
+ <title>WordPress › Error</title>
21
+ <style type="text/css">
22
+ html {
23
+ background : #f1f1f1;
24
+ }
25
+
26
+ .container {
27
+ background : #fff;
28
+ color : #444;
29
+ font-family : -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
30
+ margin : 2em auto;
31
+ padding : 1em 2em;
32
+ max-width : 700px;
33
+ -webkit-box-shadow : 0 1px 3px rgba(0, 0, 0, 0.13);
34
+ box-shadow : 0 1px 3px rgba(0, 0, 0, 0.13);
35
+ }
36
+
37
+ h1 {
38
+ border-bottom : 1px solid #dadada;
39
+ clear : both;
40
+ color : #666;
41
+ font-size : 24px;
42
+ margin : 30px 0 0 0;
43
+ padding : 0;
44
+ padding-bottom : 7px;
45
+ }
46
+
47
+ #error {
48
+ margin-top : 50px;
49
+ }
50
+
51
+ #error p {
52
+ font-size : 14px;
53
+ line-height : 1.5;
54
+ margin : 25px 0 20px;
55
+ }
56
+
57
+ #error code {
58
+ font-family : Consolas, Monaco, monospace;
59
+ }
60
+
61
+ ul li {
62
+ margin-bottom : 10px;
63
+ font-size : 14px;
64
+ }
65
+
66
+ a {
67
+ color : #0073aa;
68
+ }
69
+
70
+ a:hover,
71
+ a:active {
72
+ color : #00a0d2;
73
+ }
74
+
75
+ a:focus {
76
+ color : #124964;
77
+ -webkit-box-shadow : 0 0 0 1px #5b9dd9,
78
+ 0 0 2px 1px rgba(30, 140, 190, .8);
79
+ box-shadow : 0 0 0 1px #5b9dd9,
80
+ 0 0 2px 1px rgba(30, 140, 190, .8);
81
+ outline : none;
82
+ }
83
+
84
+ .button {
85
+ background : #f7f7f7;
86
+ border : 1px solid #ccc;
87
+ color : #555;
88
+ display : inline-block;
89
+ text-decoration : none;
90
+ font-size : 13px;
91
+ line-height : 26px;
92
+ height : 28px;
93
+ margin : 0;
94
+ padding : 0 10px 1px;
95
+ cursor : pointer;
96
+ -webkit-border-radius : 3px;
97
+ -webkit-appearance : none;
98
+ border-radius : 3px;
99
+ white-space : nowrap;
100
+ -webkit-box-sizing : border-box;
101
+ -moz-box-sizing : border-box;
102
+ box-sizing : border-box;
103
+
104
+ -webkit-box-shadow : 0 1px 0 #ccc;
105
+ box-shadow : 0 1px 0 #ccc;
106
+ vertical-align : top;
107
+ }
108
+
109
+ .button.button-large {
110
+ height : 30px;
111
+ line-height : 28px;
112
+ padding : 0 12px 2px;
113
+ }
114
+
115
+ .button:hover,
116
+ .button:focus {
117
+ background : #fafafa;
118
+ border-color : #999;
119
+ color : #23282d;
120
+ }
121
+
122
+ .button:focus {
123
+ border-color : #5b9dd9;
124
+ -webkit-box-shadow : 0 0 3px rgba(0, 115, 170, .8);
125
+ box-shadow : 0 0 3px rgba(0, 115, 170, .8);
126
+ outline : none;
127
+ }
128
+
129
+ .button:active {
130
+ background : #eee;
131
+ border-color : #999;
132
+ -webkit-box-shadow : inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
133
+ box-shadow : inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
134
+ -webkit-transform : translateY(1px);
135
+ -ms-transform : translateY(1px);
136
+ transform : translateY(1px);
137
+ }
138
+
139
+ </style>
140
+ </head>
141
+ <body>
142
+ <div id="error" class="container">
143
+ <p><?php echo $error ?></p>
144
+ </div>
145
+
146
+ </body>
147
+ </html>