Version Description
- Released: Dec 15, 2015 =
- Added: Support to Wordpress 4.4
- Updated: Plugin Core Framework
Download this release
Release Info
Developer | yithemes |
Plugin | YITH WooCommerce Ajax Search |
Version | 1.3.9 |
Comparing to | |
See all releases |
Code changes from version 1.3.8 to 1.3.9
- README.txt +48 -44
- init.php +2 -2
- plugin-fw/assets/css/metaboxes.css +21 -0
- plugin-fw/assets/css/yit-plugin-panel.css +4 -0
- plugin-fw/assets/js/yit-plugin-panel.js +10 -0
- plugin-fw/assets/js/yit-plugin-panel.min.js +5 -5
- plugin-fw/init.php +13 -15
- plugin-fw/languages/yith-plugin-fw-it_IT.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-it_IT.po +223 -133
- plugin-fw/languages/yith-plugin-fw.pot +148 -108
- plugin-fw/lib/yit-plugin-panel-wc.php +8 -3
- plugin-fw/lib/yit-plugin-panel.php +23 -14
- plugin-fw/lib/yit-plugin-subpanel.php +12 -9
- plugin-fw/lib/yit-upgrade.php +9 -25
- plugin-fw/licence/assets/css/yit-licence.css +112 -23
- plugin-fw/licence/assets/js/yit-licence.js +82 -25
- plugin-fw/licence/assets/js/yit-licence.min.js +7 -4
- plugin-fw/licence/lib/yit-licence.php +201 -54
- plugin-fw/licence/lib/yit-plugin-licence.php +17 -15
- plugin-fw/licence/lib/yit-theme-licence.php +61 -24
- plugin-fw/licence/templates/panel/activation/activation-panel.php +127 -54
- plugin-fw/templates/metaboxes/types/number.php +14 -1
- plugin-fw/templates/panel/types/upload.php +2 -1
- plugin-fw/yit-functions.php +261 -236
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: 3.5.1
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 1.3.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -138,172 +138,176 @@ 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 |
-
|
|
|
|
|
|
|
|
|
|
|
142 |
* Added: Add Plugin-Fw support for Essential Kit #1
|
143 |
|
144 |
-
= 1.3.7 =
|
145 |
* Updated: Changed Text Domain from 'yit' to 'yith-woocommerce-ajax-search'
|
146 |
* Updated: Plugin Core Framework
|
147 |
|
148 |
-
= 1.3.6 =
|
149 |
* Added: Support to WooCommerce 2.4.2
|
150 |
* Updated: Plugin Core Framework
|
151 |
|
152 |
-
= 1.3.5 =
|
153 |
* Added: Support more search elements on a page
|
154 |
|
155 |
-
= 1.3.4 =
|
156 |
* Fixed: Support to WPML
|
157 |
|
158 |
-
= 1.3.3 =
|
159 |
* Fixed: Called to WP_Widget construct
|
160 |
* Fixed: Support to WPML
|
161 |
|
162 |
-
= 1.3.2 =
|
163 |
|
164 |
* Fixed: Backward compatibility with Autocomplete function
|
165 |
|
166 |
-
= 1.3.1 =
|
167 |
|
168 |
* Updated: Renamed Autocomplete function with YithAutocomplete
|
169 |
|
170 |
-
= 1.3.0 =
|
171 |
|
172 |
* Added: Wordpress 4.2 compatibility
|
173 |
* Fixed: Shorcode output
|
174 |
-
* Fixed:
|
175 |
|
176 |
-
= 1.2.7 =
|
177 |
|
178 |
* Updated: Plugin Core Framework
|
179 |
|
180 |
-
= 1.2.6 =
|
181 |
|
182 |
* Updated: Plugin Core Framework
|
183 |
-
* Fixed: Loader image not
|
184 |
* Fixed: Disabled submit when search string is empty
|
185 |
* Fixed: Support to WPML in query string
|
186 |
|
187 |
-
= 1.2.5 =
|
188 |
|
189 |
* Fixed: Plugin installation bug
|
190 |
|
191 |
-
= 1.2.4 =
|
192 |
|
193 |
* Fixed: Minor bugs
|
194 |
|
195 |
-
= 1.2.3 =
|
196 |
|
197 |
* Added: Support to Wordpress 4.1.1
|
198 |
* Fixed: Minor bugs
|
199 |
|
200 |
-
= 1.2.2 =
|
201 |
|
202 |
* Added: Support to WooCommerce 2.3.x
|
203 |
* Fixed: Minor bugs
|
204 |
|
205 |
-
= 1.2.1 =
|
206 |
|
207 |
* Updated: Plugin Core Framework
|
208 |
|
209 |
-
= 1.2 =
|
210 |
|
211 |
* Updated: Plugin Core Framework
|
212 |
|
213 |
-
= 1.1.3 =
|
214 |
|
215 |
* Fixed: Javascript code in external file
|
216 |
|
217 |
-
= 1.1.2 =
|
218 |
|
219 |
* Fixed: Prevent undefined title index if the widget is called by the the_widget func
|
220 |
* Updated: Autocomplete js library
|
221 |
* Updated: Plugin Core Framework
|
222 |
|
223 |
-
= 1.1.1 =
|
224 |
|
225 |
* Fixed: Settings link doesn't work on WooCommerce 2.1.1
|
226 |
|
227 |
-
= 1.1.0 =
|
228 |
|
229 |
* Added: Support to WooCommerce 2.1.x
|
230 |
|
231 |
-
= 1.0.0 =
|
232 |
|
233 |
* Initial release
|
234 |
|
235 |
-
|
236 |
== Upgrade notice ==
|
237 |
|
238 |
-
= 1.3.2 =
|
239 |
|
240 |
* Fixed: Backward compatibility with Autocomplete function
|
241 |
|
242 |
-
= 1.3.1 =
|
243 |
|
244 |
* Updated: Renamed Autocomplete function with YithAutocomplete
|
245 |
|
246 |
-
= 1.3.0 =
|
247 |
|
248 |
* Added: Wordpress 4.2 compatibility
|
249 |
* Fixed: Shorcode output
|
250 |
* Fixed: Wp security issue
|
251 |
|
252 |
-
= 1.2.7 =
|
253 |
|
254 |
* Updated: Plugin Core Framework
|
255 |
|
256 |
-
= 1.2.6 =
|
257 |
|
258 |
* Updated: Plugin Core Framework
|
259 |
* Fixed: Loader image not hided after search
|
260 |
* Fixed: Disabled submit when search string is empty
|
261 |
* Fixed: Support to WPML in query string
|
262 |
|
263 |
-
= 1.2.5 =
|
264 |
|
265 |
* Fixed: Plugin installation bug
|
266 |
|
267 |
-
= 1.2.4 =
|
268 |
|
269 |
* Fixed: Minor bugs
|
270 |
|
271 |
-
= 1.2.3 =
|
272 |
|
273 |
* Added: Support to Wordpress 4.1.1
|
274 |
* Fixed: Minor bugs
|
275 |
|
276 |
-
= 1.2.2 =
|
277 |
|
278 |
* Added: Support to WooCommerce 2.3.x
|
279 |
* Fixed: Minor bugs
|
280 |
|
281 |
-
= 1.2.1 =
|
282 |
|
283 |
* Updated: Plugin Core Framework
|
284 |
|
285 |
-
= 1.2 =
|
286 |
|
287 |
* Updated: Plugin Core Framework
|
288 |
|
289 |
-
= 1.1.3 =
|
290 |
|
291 |
* Fixed: Javascript code in external file
|
292 |
|
293 |
-
= 1.1.2 =
|
294 |
|
295 |
* Fixed: Prevent undefined title index if the widget is called by the the_widget func
|
296 |
* Updated: Autocomplete js library
|
297 |
* Updated: Plugin Core Framework
|
298 |
|
299 |
-
= 1.1.1 =
|
300 |
|
301 |
* Fixed: Settings link doesn't work on WooCommerce 2.1.1
|
302 |
|
303 |
-
= 1.1.0 =
|
304 |
|
305 |
* Added: Support to WooCommerce 2.1.x
|
306 |
|
307 |
-
= 1.0.0 =
|
308 |
|
309 |
-
* Initial release
|
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: 3.5.1
|
6 |
+
Tested up to: 4.5.1
|
7 |
+
Stable tag: 1.3.9
|
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 |
+
|
142 |
+
= 1.3.9 - Released: Dec 15, 2015 =
|
143 |
+
* Added: Support to Wordpress 4.4
|
144 |
+
* Updated: Plugin Core Framework
|
145 |
+
|
146 |
+
= 1.3.8 - Released: Oct 30, 2015 =
|
147 |
* Added: Add Plugin-Fw support for Essential Kit #1
|
148 |
|
149 |
+
= 1.3.7 - Released: Sep 18, 2015 =
|
150 |
* Updated: Changed Text Domain from 'yit' to 'yith-woocommerce-ajax-search'
|
151 |
* Updated: Plugin Core Framework
|
152 |
|
153 |
+
= 1.3.6 - Released: Aug 12, 2015 =
|
154 |
* Added: Support to WooCommerce 2.4.2
|
155 |
* Updated: Plugin Core Framework
|
156 |
|
157 |
+
= 1.3.5 - Released: Aug 07, 2015 =
|
158 |
* Added: Support more search elements on a page
|
159 |
|
160 |
+
= 1.3.4 - Released: Jul 17, 2015 =
|
161 |
* Fixed: Support to WPML
|
162 |
|
163 |
+
= 1.3.3 - Released: Jul 07, 2015 =
|
164 |
* Fixed: Called to WP_Widget construct
|
165 |
* Fixed: Support to WPML
|
166 |
|
167 |
+
= 1.3.2 - Released: Jun 15, 2015 =
|
168 |
|
169 |
* Fixed: Backward compatibility with Autocomplete function
|
170 |
|
171 |
+
= 1.3.1 - Released: Jun 10, 2015 =
|
172 |
|
173 |
* Updated: Renamed Autocomplete function with YithAutocomplete
|
174 |
|
175 |
+
= 1.3.0 - Released: Apr 24, 2015 =
|
176 |
|
177 |
* Added: Wordpress 4.2 compatibility
|
178 |
* Fixed: Shorcode output
|
179 |
+
* Fixed: Wp security issue
|
180 |
|
181 |
+
= 1.2.7 - Released: Apr 07, 2015 =
|
182 |
|
183 |
* Updated: Plugin Core Framework
|
184 |
|
185 |
+
= 1.2.6 - Released: Mar 30, 2015 =
|
186 |
|
187 |
* Updated: Plugin Core Framework
|
188 |
+
* Fixed: Loader image not hided after search
|
189 |
* Fixed: Disabled submit when search string is empty
|
190 |
* Fixed: Support to WPML in query string
|
191 |
|
192 |
+
= 1.2.5 - Released: Mar 12, 2015 =
|
193 |
|
194 |
* Fixed: Plugin installation bug
|
195 |
|
196 |
+
= 1.2.4 - Released: Mar 04, 2015 =
|
197 |
|
198 |
* Fixed: Minor bugs
|
199 |
|
200 |
+
= 1.2.3 - Released: Mar 02, 2015 =
|
201 |
|
202 |
* Added: Support to Wordpress 4.1.1
|
203 |
* Fixed: Minor bugs
|
204 |
|
205 |
+
= 1.2.2 - Released: Feb 12, 2015 =
|
206 |
|
207 |
* Added: Support to WooCommerce 2.3.x
|
208 |
* Fixed: Minor bugs
|
209 |
|
210 |
+
= 1.2.1 - Released: Feb 06, 2015 =
|
211 |
|
212 |
* Updated: Plugin Core Framework
|
213 |
|
214 |
+
= 1.2.0 - Released: Jan 29, 2015 =
|
215 |
|
216 |
* Updated: Plugin Core Framework
|
217 |
|
218 |
+
= 1.1.3 - Released: Oct 16, 2014 =
|
219 |
|
220 |
* Fixed: Javascript code in external file
|
221 |
|
222 |
+
= 1.1.2 - Released: Sep 14, 2014 =
|
223 |
|
224 |
* Fixed: Prevent undefined title index if the widget is called by the the_widget func
|
225 |
* Updated: Autocomplete js library
|
226 |
* Updated: Plugin Core Framework
|
227 |
|
228 |
+
= 1.1.1 - Released: Feb 14, 2014 =
|
229 |
|
230 |
* Fixed: Settings link doesn't work on WooCommerce 2.1.1
|
231 |
|
232 |
+
= 1.1.0 - Released: Feb 12, 2013 =
|
233 |
|
234 |
* Added: Support to WooCommerce 2.1.x
|
235 |
|
236 |
+
= 1.0.0 - Released: Aug 01, 2013 =
|
237 |
|
238 |
* Initial release
|
239 |
|
|
|
240 |
== Upgrade notice ==
|
241 |
|
242 |
+
= 1.3.2 - Released: Jun 15, 2015 =
|
243 |
|
244 |
* Fixed: Backward compatibility with Autocomplete function
|
245 |
|
246 |
+
= 1.3.1 - Released: Jun 10, 2015 =
|
247 |
|
248 |
* Updated: Renamed Autocomplete function with YithAutocomplete
|
249 |
|
250 |
+
= 1.3.0 - Released: Apr 24, 2015 =
|
251 |
|
252 |
* Added: Wordpress 4.2 compatibility
|
253 |
* Fixed: Shorcode output
|
254 |
* Fixed: Wp security issue
|
255 |
|
256 |
+
= 1.2.7 - Released: Apr 07, 2015 =
|
257 |
|
258 |
* Updated: Plugin Core Framework
|
259 |
|
260 |
+
= 1.2.6 - Released: Mar 30, 2015 =
|
261 |
|
262 |
* Updated: Plugin Core Framework
|
263 |
* Fixed: Loader image not hided after search
|
264 |
* Fixed: Disabled submit when search string is empty
|
265 |
* Fixed: Support to WPML in query string
|
266 |
|
267 |
+
= 1.2.5 - Released: Mar 12, 2015 =
|
268 |
|
269 |
* Fixed: Plugin installation bug
|
270 |
|
271 |
+
= 1.2.4 - Released: Mar 04, 2015 =
|
272 |
|
273 |
* Fixed: Minor bugs
|
274 |
|
275 |
+
= 1.2.3 - Released: Mar 02, 2015 =
|
276 |
|
277 |
* Added: Support to Wordpress 4.1.1
|
278 |
* Fixed: Minor bugs
|
279 |
|
280 |
+
= 1.2.2 - Released: Feb 12, 2015 =
|
281 |
|
282 |
* Added: Support to WooCommerce 2.3.x
|
283 |
* Fixed: Minor bugs
|
284 |
|
285 |
+
= 1.2.1 - Released: Feb 06, 2015 =
|
286 |
|
287 |
* Updated: Plugin Core Framework
|
288 |
|
289 |
+
= 1.2.0 - Released: Jan 29, 2015 =
|
290 |
|
291 |
* Updated: Plugin Core Framework
|
292 |
|
293 |
+
= 1.1.3 - Released: Oct 16, 2014 =
|
294 |
|
295 |
* Fixed: Javascript code in external file
|
296 |
|
297 |
+
= 1.1.2 - Released: Sep 14, 2014 =
|
298 |
|
299 |
* Fixed: Prevent undefined title index if the widget is called by the the_widget func
|
300 |
* Updated: Autocomplete js library
|
301 |
* Updated: Plugin Core Framework
|
302 |
|
303 |
+
= 1.1.1 - Released: Feb 14, 2014 =
|
304 |
|
305 |
* Fixed: Settings link doesn't work on WooCommerce 2.1.1
|
306 |
|
307 |
+
= 1.1.0 - Released: Feb 12, 2013 =
|
308 |
|
309 |
* Added: Support to WooCommerce 2.1.x
|
310 |
|
311 |
+
= 1.0.0 - Released: Aug 01, 2013 =
|
312 |
|
313 |
+
* Initial release
|
init.php
CHANGED
@@ -3,7 +3,7 @@
|
|
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.3.
|
7 |
* Author: Yithemes
|
8 |
* Author URI: http://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-ajax-search
|
@@ -68,7 +68,7 @@ register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
|
|
68 |
if ( defined( 'YITH_WCAS_VERSION' ) ){
|
69 |
return;
|
70 |
}else{
|
71 |
-
define( 'YITH_WCAS_VERSION', '1.3.
|
72 |
}
|
73 |
|
74 |
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.3.9
|
7 |
* Author: Yithemes
|
8 |
* Author URI: http://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-ajax-search
|
68 |
if ( defined( 'YITH_WCAS_VERSION' ) ){
|
69 |
return;
|
70 |
}else{
|
71 |
+
define( 'YITH_WCAS_VERSION', '1.3.9' );
|
72 |
}
|
73 |
|
74 |
if ( ! defined( 'YITH_WCAS_FREE_INIT' ) ) {
|
plugin-fw/assets/css/metaboxes.css
CHANGED
@@ -237,6 +237,27 @@
|
|
237 |
.chosen .select_wrapper .chosen-container .chosen-drop .chosen-search input{
|
238 |
width: 100%!important;
|
239 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
|
241 |
/* typography */
|
242 |
.the-metabox.typography .select_wrapper.font-family { width:200px; }
|
237 |
.chosen .select_wrapper .chosen-container .chosen-drop .chosen-search input{
|
238 |
width: 100%!important;
|
239 |
}
|
240 |
+
.select_wrapper span {
|
241 |
+
height: 26px;
|
242 |
+
line-height: 26px;
|
243 |
+
padding-left: 6px;
|
244 |
+
position: absolute;
|
245 |
+
z-index: 2;
|
246 |
+
overflow: hidden;
|
247 |
+
}
|
248 |
+
|
249 |
+
.the-metabox .select_wrapper select {
|
250 |
+
cursor: pointer;
|
251 |
+
height: 28px;
|
252 |
+
margin: 0;
|
253 |
+
opacity: 0;
|
254 |
+
padding: 0;
|
255 |
+
position: relative;
|
256 |
+
width: inherit;
|
257 |
+
z-index: 4;
|
258 |
+
background-color: #FAFAFA;
|
259 |
+
}
|
260 |
+
|
261 |
|
262 |
/* typography */
|
263 |
.the-metabox.typography .select_wrapper.font-family { width:200px; }
|
plugin-fw/assets/css/yit-plugin-panel.css
CHANGED
@@ -631,6 +631,10 @@
|
|
631 |
width: 6em;
|
632 |
}
|
633 |
|
|
|
|
|
|
|
|
|
634 |
/* === YIT FRAMEWORK === */
|
635 |
.plugin-card .plugin-icon img {
|
636 |
max-width: 100%;
|
631 |
width: 6em;
|
632 |
}
|
633 |
|
634 |
+
#wpwrap h2.nav-tab-wrapper {
|
635 |
+
border-bottom: 1px solid #ccc;
|
636 |
+
}
|
637 |
+
|
638 |
/* === YIT FRAMEWORK === */
|
639 |
.plugin-card .plugin-icon img {
|
640 |
max-width: 100%;
|
plugin-fw/assets/js/yit-plugin-panel.js
CHANGED
@@ -177,6 +177,16 @@
|
|
177 |
//Open the uploader dialog
|
178 |
custom_uploader.open();
|
179 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
}
|
181 |
|
182 |
$('.plugin-option .add_media').on('click', function () {
|
177 |
//Open the uploader dialog
|
178 |
custom_uploader.open();
|
179 |
});
|
180 |
+
|
181 |
+
$( document).on( 'click', '.plugin-option .upload_button_reset', function(e){
|
182 |
+
var t = $(this),
|
183 |
+
id = t.attr('id'),
|
184 |
+
input_id = t.attr('id').replace(/-button_reset$/, ''),
|
185 |
+
default_value = $('#' + id).data('default');
|
186 |
+
|
187 |
+
$("#" + input_id).val( default_value );
|
188 |
+
$('.plugin-option .upload_img_url').trigger('change');
|
189 |
+
} );
|
190 |
}
|
191 |
|
192 |
$('.plugin-option .add_media').on('click', function () {
|
plugin-fw/assets/js/yit-plugin-panel.min.js
CHANGED
@@ -3,8 +3,8 @@
|
|
3 |
function(){var b=a(this).prev("input");b.prop("checked")?b.prop("checked",!1).attr("value","no").removeClass("onoffchecked"):b.prop("checked",!0).attr("value","yes").addClass("onoffchecked");b.change()});a(".plugin-option .slider_container .ui-slider-horizontal").each(function(){var b=a(this).data("val"),c=a(this).data("min"),d=a(this).data("max"),e=a(this).data("step"),f=a(this).data("labels");a(this).slider({value:b,min:c,max:d,range:"min",step:e,slide:function(b,c){a(this).find("input").val(c.value);
|
4 |
a(this).siblings(".feedback").find("strong").text(c.value+f)}})});"undefined"!==typeof wp&&"undefined"!==typeof wp.media&&(a(".plugin-option .upload_img_url").change(function(){var b=a(this).val(),c=a(this).parents().siblings(".upload_img_preview");/(http|ftp|https):\/\/[a-zA-Z0-9@?^=%&:/~+#-_.]*.(gif|jpg|jpeg|png|ico)/.test(b)?c.html('<img src="'+b+'" style="max-width:600px; max-height:300px;" />'):c.html("")}).trigger("change"),a(document).on("click",".plugin-option .upload_button",function(b){b.preventDefault();
|
5 |
var c,d=a(this).attr("id").replace(/-button$/,"");c||(b=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})],c=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,states:b}),c.on("select",function(){var b=c.state().get("selection").first().toJSON();a("#"+d).val(b.url);a("#"+d+"-yith-attachment-id")&&a("#"+d+"-yith-attachment-id").val(b.id);a(".plugin-option .upload_img_url").trigger("change")}));
|
6 |
-
c.open()}));a(".plugin-option .add_media").on("click",function(){});a("[data-field]").each(function(){var b=a(this),c="#"+b.data("field"),d="#"+b.data("dep"),e=b.data("value");a(d).on("change",function(){var b=d,g=e.toString(),h=!0;if("string"==typeof b){":radio"==
|
7 |
-
a(this).find("ul"),c=a(this).find(":hidden");b.sortable({connectWith:b,update:function(d,e){var f={};b.each(function(){var b={};a(this).children().each(function(){b[a(this).data("option")]=a(this).text()});f[a(this).data("list")]=b});c.val(JSON.stringify(f).replace(/[\\"']/g,
|
8 |
-
modal:!0,closeOnEscape:!0,width:"auto",resizable:!1,draggable:!1,create:function(b,d){a(this).css("maxWidth","853px")},open:function(b,d){a(".ui-widget-overlay").bind("click",function(){a(this).siblings(".ui-dialog").find(".ui-dialog-content").dialog("close")})}});
|
9 |
-
a("#"+a(this).data("textarea")).data("codemirrorInstance"),c=a("#"+a(this).data("input")).val(),d=a(this).data("basename"),e;e="(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement( o ),\nm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n";
|
10 |
-
b.replaceRange(e,b.getCursor("start"),b.getCursor("end"))})})})(jQuery);
|
3 |
function(){var b=a(this).prev("input");b.prop("checked")?b.prop("checked",!1).attr("value","no").removeClass("onoffchecked"):b.prop("checked",!0).attr("value","yes").addClass("onoffchecked");b.change()});a(".plugin-option .slider_container .ui-slider-horizontal").each(function(){var b=a(this).data("val"),c=a(this).data("min"),d=a(this).data("max"),e=a(this).data("step"),f=a(this).data("labels");a(this).slider({value:b,min:c,max:d,range:"min",step:e,slide:function(b,c){a(this).find("input").val(c.value);
|
4 |
a(this).siblings(".feedback").find("strong").text(c.value+f)}})});"undefined"!==typeof wp&&"undefined"!==typeof wp.media&&(a(".plugin-option .upload_img_url").change(function(){var b=a(this).val(),c=a(this).parents().siblings(".upload_img_preview");/(http|ftp|https):\/\/[a-zA-Z0-9@?^=%&:/~+#-_.]*.(gif|jpg|jpeg|png|ico)/.test(b)?c.html('<img src="'+b+'" style="max-width:600px; max-height:300px;" />'):c.html("")}).trigger("change"),a(document).on("click",".plugin-option .upload_button",function(b){b.preventDefault();
|
5 |
var c,d=a(this).attr("id").replace(/-button$/,"");c||(b=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})],c=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,states:b}),c.on("select",function(){var b=c.state().get("selection").first().toJSON();a("#"+d).val(b.url);a("#"+d+"-yith-attachment-id")&&a("#"+d+"-yith-attachment-id").val(b.id);a(".plugin-option .upload_img_url").trigger("change")}));
|
6 |
+
c.open()}),a(document).on("click",".plugin-option .upload_button_reset",function(b){var c=a(this);b=c.attr("id");c=c.attr("id").replace(/-button_reset$/,"");b=a("#"+b).data("default");a("#"+c).val(b);a(".plugin-option .upload_img_url").trigger("change")}));a(".plugin-option .add_media").on("click",function(){});a("[data-field]").each(function(){var b=a(this),c="#"+b.data("field"),d="#"+b.data("dep"),e=b.data("value");a(d).on("change",function(){var b=d,g=e.toString(),h=!0;if("string"==typeof b){":radio"==
|
7 |
+
b.substr(0,6)&&(b+=":checked");for(var g=g.split(","),k=0;k<g.length;k++)if(a(b).val()!=g[k])h=!1;else{h=!0;break}}h?a(c+"-container").closest("tr").show():a(c+"-container").closest("tr").hide()}).change()});a(".rm_connectedlist").each(function(){var b=a(this).find("ul"),c=a(this).find(":hidden");b.sortable({connectWith:b,update:function(d,e){var f={};b.each(function(){var b={};a(this).children().each(function(){b[a(this).data("option")]=a(this).text()});f[a(this).data("list")]=b});c.val(JSON.stringify(f).replace(/[\\"']/g,
|
8 |
+
"\\$&").replace(/\u0000/g,"\\0"))}}).disableSelection()});a(document).ready(function(){a(".yith-video-link").click(function(b){b.preventDefault();b=a(this).data("video-id");a("."+b).dialog({dialogClass:"wp-dialog yit-dialog yit-video-dialog",modal:!0,closeOnEscape:!0,width:"auto",resizable:!1,draggable:!1,create:function(b,d){a(this).css("maxWidth","853px")},open:function(b,d){a(".ui-widget-overlay").bind("click",function(){a(this).siblings(".ui-dialog").find(".ui-dialog-content").dialog("close")})}});
|
9 |
+
a(".ui-dialog :button").blur()})});a(document).ready(function(){a(".codemirror").each(function(b,c){var d=CodeMirror.fromTextArea(c,{lineNumbers:1,mode:"javascript",showCursorWhenSelecting:!0});a(c).data("codemirrorInstance",d)})});a(document).ready(function(){a(".google-analytic-generate").click(function(){var b=a("#"+a(this).data("textarea")).data("codemirrorInstance"),c=a("#"+a(this).data("input")).val(),d=a(this).data("basename"),e;e="(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement( o ),\nm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n";
|
10 |
+
e+="})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n";e+="ga('create', '"+c+"', '"+d+"');\n";e+="ga('send', 'pageview');\n";b.replaceRange(e,b.getCursor("start"),b.getCursor("end"))})})})(jQuery);
|
plugin-fw/init.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Framework Name: YIT Plugin Framework
|
4 |
-
* Version: 2.
|
5 |
* Author: Yithemes
|
6 |
* Text Domain: yith-plugin-fw
|
7 |
* Domain Path: /languages/
|
@@ -20,20 +20,20 @@
|
|
20 |
*/
|
21 |
|
22 |
|
23 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
24 |
exit;
|
25 |
} // Exit if accessed directly
|
26 |
|
27 |
-
if ( ! function_exists( 'yit_maybe_plugin_fw_loader' ) ) {
|
28 |
/**
|
29 |
* YITH WooCommerce Ajax Navigation
|
30 |
*
|
31 |
* @since 1.0.0
|
32 |
*/
|
33 |
-
function yit_maybe_plugin_fw_loader( $plugin_path ) {
|
34 |
global $plugin_fw_data;
|
35 |
|
36 |
-
$default_headers = array(
|
37 |
'Name' => 'Framework Name',
|
38 |
'Version' => 'Version',
|
39 |
'Author' => 'Author',
|
@@ -41,19 +41,17 @@ if ( ! function_exists( 'yit_maybe_plugin_fw_loader' ) ) {
|
|
41 |
'DomainPath' => 'Domain Path',
|
42 |
);
|
43 |
|
44 |
-
$framework_data
|
45 |
-
$plugin_fw_main_file
|
46 |
|
47 |
-
if( ! empty( $plugin_fw_data ) ){
|
48 |
-
foreach( $plugin_fw_data as $version => $path ){
|
49 |
-
if( version_compare( $version, $framework_data['Version'], '<' ) ){
|
50 |
-
$plugin_fw_data = array( $framework_data['Version'] => $plugin_fw_main_file );
|
51 |
}
|
52 |
}
|
53 |
-
}
|
54 |
-
|
55 |
-
else {
|
56 |
-
$plugin_fw_data = array( $framework_data['Version'] => $plugin_fw_main_file );
|
57 |
}
|
58 |
}
|
59 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Framework Name: YIT Plugin Framework
|
4 |
+
* Version: 2.9.5
|
5 |
* Author: Yithemes
|
6 |
* Text Domain: yith-plugin-fw
|
7 |
* Domain Path: /languages/
|
20 |
*/
|
21 |
|
22 |
|
23 |
+
if ( ! defined ( 'ABSPATH' ) ) {
|
24 |
exit;
|
25 |
} // Exit if accessed directly
|
26 |
|
27 |
+
if ( ! function_exists ( 'yit_maybe_plugin_fw_loader' ) ) {
|
28 |
/**
|
29 |
* YITH WooCommerce Ajax Navigation
|
30 |
*
|
31 |
* @since 1.0.0
|
32 |
*/
|
33 |
+
function yit_maybe_plugin_fw_loader ( $plugin_path ) {
|
34 |
global $plugin_fw_data;
|
35 |
|
36 |
+
$default_headers = array (
|
37 |
'Name' => 'Framework Name',
|
38 |
'Version' => 'Version',
|
39 |
'Author' => 'Author',
|
41 |
'DomainPath' => 'Domain Path',
|
42 |
);
|
43 |
|
44 |
+
$framework_data = get_file_data ( trailingslashit ( $plugin_path ) . 'plugin-fw/init.php', $default_headers );
|
45 |
+
$plugin_fw_main_file = trailingslashit ( $plugin_path ) . 'plugin-fw/yit-plugin.php';
|
46 |
|
47 |
+
if ( ! empty( $plugin_fw_data ) ) {
|
48 |
+
foreach ( $plugin_fw_data as $version => $path ) {
|
49 |
+
if ( version_compare ( $version, $framework_data[ 'Version' ], '<' ) ) {
|
50 |
+
$plugin_fw_data = array ( $framework_data[ 'Version' ] => $plugin_fw_main_file );
|
51 |
}
|
52 |
}
|
53 |
+
} else {
|
54 |
+
$plugin_fw_data = array ( $framework_data[ 'Version' ] => $plugin_fw_main_file );
|
|
|
|
|
55 |
}
|
56 |
}
|
57 |
}
|
plugin-fw/languages/yith-plugin-fw-it_IT.mo
CHANGED
Binary file
|
plugin-fw/languages/yith-plugin-fw-it_IT.po
CHANGED
@@ -4,15 +4,15 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
|
6 |
"Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2015-
|
8 |
-
"PO-Revision-Date: 2015-
|
9 |
"Last-Translator: \n"
|
10 |
-
"Language-Team:
|
11 |
-
"Language:
|
12 |
"MIME-Version: 1.0\n"
|
13 |
-
"Content-Type: text/plain; charset=
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Poedit 1.8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
17 |
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
18 |
"esc_html_x:1,2c\n"
|
@@ -136,8 +136,9 @@ msgid "Type"
|
|
136 |
msgstr "Tipologia"
|
137 |
|
138 |
#: lib/yit-cpt-unlimited.php:1052
|
139 |
-
|
140 |
-
|
|
|
141 |
|
142 |
#: lib/yit-cpt-unlimited.php:1058
|
143 |
msgid "Rewrite"
|
@@ -220,10 +221,10 @@ msgid "Add %s from images"
|
|
220 |
msgstr "Aggiungi %s dalla immagini"
|
221 |
|
222 |
#: lib/yit-cpt-unlimited.php:1633
|
223 |
-
msgid "
|
224 |
-
msgstr "
|
225 |
|
226 |
-
#: lib/yit-plugin-panel-wc.php:
|
227 |
msgid "The changes you have made will be lost if you leave this page."
|
228 |
msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
|
229 |
|
@@ -231,71 +232,71 @@ msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
|
|
231 |
msgid "Plugin Settings"
|
232 |
msgstr "Impostazioni plugin"
|
233 |
|
234 |
-
#: lib/yit-plugin-panel.php:
|
235 |
msgid "YIT Plugins"
|
236 |
msgstr "YIT Plugins"
|
237 |
|
238 |
-
#: lib/yit-plugin-panel.php:
|
239 |
#: templates/panel/woocommerce/woocommerce-form.php:5
|
240 |
msgid "Save Changes"
|
241 |
msgstr "Salva modifiche"
|
242 |
|
243 |
-
#: lib/yit-plugin-panel.php:
|
244 |
msgid "If you continue with this action, you will reset all options in this page."
|
245 |
msgstr ""
|
246 |
"Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
|
247 |
"reimpostate."
|
248 |
|
249 |
-
#: lib/yit-plugin-panel.php:
|
250 |
-
msgid "Reset to
|
251 |
-
msgstr "
|
252 |
|
253 |
-
#: lib/yit-plugin-panel.php:
|
254 |
-
#: templates/panel/woocommerce/woocommerce-form.php:
|
255 |
msgid "Are you sure?"
|
256 |
msgstr "Sei sicuro?"
|
257 |
|
258 |
-
#: lib/yit-plugin-panel.php:
|
259 |
msgid "The element you have entered already exists. Please, enter another name."
|
260 |
msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
|
261 |
|
262 |
-
#: lib/yit-plugin-panel.php:
|
263 |
msgid "Settings saved"
|
264 |
msgstr "Impostazioni salvate"
|
265 |
|
266 |
-
#: lib/yit-plugin-panel.php:
|
267 |
msgid "Settings reset"
|
268 |
msgstr "Impostazioni azzerate"
|
269 |
|
270 |
-
#: lib/yit-plugin-panel.php:
|
271 |
msgid "Element deleted correctly."
|
272 |
msgstr "Elemento rimosso correttamente."
|
273 |
|
274 |
-
#: lib/yit-plugin-panel.php:
|
275 |
msgid "Element updated correctly."
|
276 |
msgstr "Elemento aggiornato correttamente."
|
277 |
|
278 |
-
#: lib/yit-plugin-panel.php:
|
279 |
msgid "Database imported correctly."
|
280 |
msgstr "Database importato correttamente."
|
281 |
|
282 |
-
#: lib/yit-plugin-panel.php:
|
283 |
msgid "An error has occurred during import. Please try again."
|
284 |
msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
|
285 |
|
286 |
-
#: lib/yit-plugin-panel.php:
|
287 |
msgid "The added file is not valid."
|
288 |
msgstr "Il file aggiunto non è valido."
|
289 |
|
290 |
-
#: lib/yit-plugin-panel.php:
|
291 |
msgid "Sorry, import is disabled."
|
292 |
msgstr "Ci dispiace, l'importazione è disabilitata."
|
293 |
|
294 |
-
#: lib/yit-plugin-panel.php:
|
295 |
msgid "Sorting successful."
|
296 |
msgstr "Ordinamento effettuato con successo."
|
297 |
|
298 |
-
#: lib/yit-plugin-subpanel.php:
|
299 |
msgid ""
|
300 |
"If you continue with this action, you will reset all the options in this page."
|
301 |
msgstr ""
|
@@ -367,19 +368,19 @@ msgstr ""
|
|
367 |
msgid "Update now."
|
368 |
msgstr "Aggiorna adesso."
|
369 |
|
370 |
-
#: lib/yit-upgrade.php:
|
371 |
msgid "Yithemes Repository"
|
372 |
msgstr "Repository YIThemes"
|
373 |
|
374 |
-
#: lib/yit-upgrade.php:
|
375 |
msgid "Invalid URL Provided."
|
376 |
msgstr "L'URL inserito non è valido."
|
377 |
|
378 |
-
#: lib/yit-upgrade.php:
|
379 |
msgid "Could not create Temporary file."
|
380 |
msgstr "Non è stato possibile creare il file temporaneo."
|
381 |
|
382 |
-
#: lib/yit-upgrade.php:
|
383 |
#, php-format
|
384 |
msgid ""
|
385 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
@@ -388,7 +389,7 @@ msgstr ""
|
|
388 |
"È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
|
389 |
"changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a>."
|
390 |
|
391 |
-
#: lib/yit-upgrade.php:
|
392 |
#, php-format
|
393 |
msgid ""
|
394 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
@@ -401,21 +402,16 @@ msgstr ""
|
|
401 |
"<em>Per poter usufruire degli aggiornamenti automatici è necessario attivare il "
|
402 |
"plugin su un solo sito.</em>"
|
403 |
|
404 |
-
#: lib/yit-upgrade.php:
|
405 |
#, php-format
|
406 |
msgid ""
|
407 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
408 |
"changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
|
409 |
-
"update is unavailable for this plugin, please <a href=\"%5$s\" title=\"
|
410 |
"activation\">activate</a> your copy of %6s.</em>"
|
411 |
msgstr ""
|
412 |
-
"È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
|
413 |
-
"changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a>. "
|
414 |
-
"<em>Gli aggiornamenti automatici non sono disponibili per questo plugi, per "
|
415 |
-
"favore, <a href=\"%5$s\" title=\"Licence activation\">attiva</a> la tua copia di "
|
416 |
-
"%6s.</em>"
|
417 |
|
418 |
-
#: lib/yit-upgrade.php:
|
419 |
#, php-format
|
420 |
msgid ""
|
421 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
@@ -426,83 +422,111 @@ msgstr ""
|
|
426 |
"changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a> "
|
427 |
"oppure <a href=\"%5$s\">aggiorna adesso</a>."
|
428 |
|
429 |
-
#: lib/yit-upgrade.php:
|
430 |
msgid "You can't update the plugins for this site."
|
431 |
msgstr "Non è possibile aggiornare i plugin per questo sito."
|
432 |
|
433 |
-
#: lib/yit-upgrade.php:
|
434 |
msgid "You do not have sufficient permissions to update the plugins for this site."
|
435 |
msgstr ""
|
436 |
"Non sei in possesso delle autorizzazioni necessarie per aggiornare i plugin in "
|
437 |
"questo sito."
|
438 |
|
439 |
-
#: lib/yit-upgrade.php:
|
440 |
msgid "Update Plugin"
|
441 |
msgstr "Aggiorna plugin"
|
442 |
|
443 |
-
#: licence/lib/yit-licence.php:
|
444 |
#, php-format
|
445 |
msgctxt "%s = field name"
|
446 |
msgid "%s field cannot be empty"
|
447 |
msgstr "Il campo %s non può essere vuoto"
|
448 |
|
449 |
-
#: licence/lib/yit-licence.php:
|
450 |
#, php-format
|
451 |
msgid "%s and %s fields cannot be empty"
|
452 |
msgstr "I campi %s e %s non possono essere vuoti"
|
453 |
|
454 |
-
#: licence/lib/yit-licence.php:
|
455 |
msgid "Unable to contact the remote server, please try again later. Thanks!"
|
456 |
msgstr "Impossibile contattare il server remoto, prova più tardi. Grazie!"
|
457 |
|
458 |
-
#: licence/lib/yit-licence.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
459 |
msgid "Invalid Request"
|
460 |
msgstr "Richiesta non valida"
|
461 |
|
462 |
-
#: licence/lib/yit-licence.php:
|
463 |
-
msgid "Invalid
|
464 |
-
msgstr "
|
465 |
|
466 |
-
#: licence/lib/yit-licence.php:
|
467 |
msgid "Software has been deactivated"
|
468 |
msgstr "Il software è stato disattivato"
|
469 |
|
470 |
-
#: licence/lib/yit-licence.php:
|
471 |
msgid "Maximum number of activations exceeded"
|
472 |
msgstr "Hai raggiunto il numero massimo di attivazioni"
|
473 |
|
474 |
-
#: licence/lib/yit-licence.php:
|
475 |
msgid "Invalid instance ID"
|
476 |
msgstr "Istanza ID non valida"
|
477 |
|
478 |
-
#: licence/lib/yit-licence.php:
|
479 |
msgid "Invalid security key"
|
480 |
msgstr "Chiave di sicurezza non valida"
|
481 |
|
482 |
-
#: licence/lib/yit-licence.php:
|
483 |
-
msgid "
|
484 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
485 |
|
486 |
-
#: licence/lib/yit-licence.php:
|
487 |
-
msgid "
|
488 |
-
msgstr "
|
489 |
|
490 |
-
#: licence/lib/yit-plugin-licence.php:
|
491 |
-
#: licence/lib/yit-theme-licence.php:
|
492 |
-
#: licence/lib/yit-theme-licence.php:
|
493 |
-
msgid "
|
494 |
-
msgstr "
|
495 |
|
496 |
-
#: licence/lib/yit-theme-licence.php:
|
497 |
#, php-format
|
498 |
msgid "%s"
|
499 |
msgstr "%s"
|
500 |
|
501 |
-
#: licence/
|
502 |
-
msgid "Yithemes Licence Activation"
|
503 |
-
msgstr "Attivazione licenza YIThemes"
|
504 |
-
|
505 |
-
#: licence/templates/panel/activation/activation-panel.php:23
|
506 |
msgid ""
|
507 |
"I cannot find the license key for activating the theme I have bought some time "
|
508 |
"ago. Where can I find it?"
|
@@ -510,30 +534,25 @@ msgstr ""
|
|
510 |
"Non riesco a trovare la chiave di licenza per l'attivazione del tema che ho "
|
511 |
"acquistato diverso tempo fa. Dove posso trovarla?"
|
512 |
|
513 |
-
#: licence/
|
514 |
msgid ""
|
515 |
"If you have purchased one of our products before 27 January 2015, you can benefit "
|
516 |
"from support and updates (the services offered with the license)\n"
|
517 |
-
"
|
518 |
-
"a new license key, because, before this date, your license used to be
|
519 |
-
"automatically by our system.\n"
|
520 |
-
"
|
521 |
-
"and updates you have to buy a new license and activate it through the
|
522 |
-
"you will be\n"
|
523 |
-
"
|
524 |
-
"section \"My licenses\"."
|
525 |
-
msgstr ""
|
526 |
-
|
527 |
-
|
528 |
-
"
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
"degli aggiornamenti dovrai riacquistare il prodotto e\n"
|
533 |
-
"attivarlo con la chiave di licenza che ti sarà fornita e che puoi trovare sul tuo "
|
534 |
-
"account YIThemes, alla voce \"Le mie licenze\"."
|
535 |
-
|
536 |
-
#: licence/templates/panel/activation/activation-panel.php:37
|
537 |
msgid ""
|
538 |
"Have you updated your licenses? Have you asked for an extension? Update "
|
539 |
"information concerning your products."
|
@@ -541,71 +560,75 @@ msgstr ""
|
|
541 |
"Hai aggiornato la tua licenza? Hai richiesto un'estensione? Aggiorna le "
|
542 |
"informazioni dei tuoi prodotti."
|
543 |
|
544 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
545 |
-
msgid "Update
|
546 |
-
msgstr "
|
547 |
|
548 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
549 |
-
msgid "
|
550 |
-
|
|
|
|
|
551 |
|
552 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
553 |
msgid "Activate"
|
554 |
msgstr "Attiva"
|
555 |
|
556 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
557 |
msgid "Activated"
|
558 |
msgstr "Attivato"
|
559 |
|
560 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
561 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
562 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
563 |
msgid "Product Name"
|
564 |
msgstr "Nome prodotto"
|
565 |
|
566 |
-
#: licence/templates/panel/activation/activation-panel.php:92
|
567 |
-
#: licence/templates/panel/activation/activation-panel.php:124
|
568 |
-
#: licence/templates/panel/activation/activation-panel.php:148
|
569 |
-
#: templates/metaboxes/types/contactform.php:148
|
570 |
-
#: templates/metaboxes/types/contactform.php:340
|
571 |
-
msgid "Email"
|
572 |
-
msgstr "Email"
|
573 |
-
|
574 |
#: licence/templates/panel/activation/activation-panel.php:93
|
575 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
576 |
-
#: licence/templates/panel/activation/activation-panel.php:149
|
577 |
-
msgid "Licence Key"
|
578 |
-
msgstr "Chiave di licenza"
|
579 |
-
|
580 |
-
#: licence/templates/panel/activation/activation-panel.php:94
|
581 |
-
#: licence/templates/panel/activation/activation-panel.php:150
|
582 |
msgid "Expires"
|
583 |
msgstr "Scadenza"
|
584 |
|
585 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
586 |
msgid "Remaining"
|
587 |
msgstr "Tempo rimanente"
|
588 |
|
589 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
590 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
591 |
-
|
592 |
-
|
593 |
-
msgid "Renew"
|
594 |
-
msgstr "Rinnova"
|
595 |
|
596 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
|
|
|
|
|
|
|
|
597 |
#, php-format
|
598 |
msgid "%1s out of %2s"
|
599 |
msgstr "%1s di %2s"
|
600 |
|
601 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
602 |
msgid "Banned"
|
603 |
msgstr "Bloccato"
|
604 |
|
605 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
606 |
msgid "Expired"
|
607 |
msgstr "Non più valido"
|
608 |
|
|
|
|
|
|
|
|
|
609 |
#: templates/metaboxes/types/ajax-products.php:23
|
610 |
msgid "Search for a product"
|
611 |
msgstr "Cerca un prodotto"
|
@@ -802,7 +825,7 @@ msgstr "Icona"
|
|
802 |
#: templates/metaboxes/types/icon-list.php:69
|
803 |
#: templates/metaboxes/types/select-icon.php:33
|
804 |
#: templates/metaboxes/types/upload.php:21 templates/panel/types/upload.php:31
|
805 |
-
#: templates/panel/woocommerce/woocommerce-upload.php:
|
806 |
msgid "Upload"
|
807 |
msgstr "Carica"
|
808 |
|
@@ -970,10 +993,77 @@ msgstr "Corsivo"
|
|
970 |
msgid "Italic bold"
|
971 |
msgstr "Grassetto corsivo"
|
972 |
|
973 |
-
#: templates/panel/woocommerce/woocommerce-form.php:
|
974 |
msgid "Reset Defaults"
|
975 |
msgstr "Ripristina impostazioni iniziali"
|
976 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
977 |
#~ msgid "%field_1% and %field_2% fields cannot be empty"
|
978 |
#~ msgstr "I campi %field_1% e %field_2% non possono essere vuoti"
|
979 |
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
|
6 |
"Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2015-11-16 12:23+0100\n"
|
8 |
+
"PO-Revision-Date: 2015-11-16 12:24+0100\n"
|
9 |
"Last-Translator: \n"
|
10 |
+
"Language-Team: YIThemes <plugins@yithemes.com>\n"
|
11 |
+
"Language: it_IT\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Poedit 1.8.1\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
17 |
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
18 |
"esc_html_x:1,2c\n"
|
136 |
msgstr "Tipologia"
|
137 |
|
138 |
#: lib/yit-cpt-unlimited.php:1052
|
139 |
+
#, php-format
|
140 |
+
msgid "Layout for this %s"
|
141 |
+
msgstr ""
|
142 |
|
143 |
#: lib/yit-cpt-unlimited.php:1058
|
144 |
msgid "Rewrite"
|
221 |
msgstr "Aggiungi %s dalla immagini"
|
222 |
|
223 |
#: lib/yit-cpt-unlimited.php:1633
|
224 |
+
msgid "Upload multiple files"
|
225 |
+
msgstr ""
|
226 |
|
227 |
+
#: lib/yit-plugin-panel-wc.php:336
|
228 |
msgid "The changes you have made will be lost if you leave this page."
|
229 |
msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
|
230 |
|
232 |
msgid "Plugin Settings"
|
233 |
msgstr "Impostazioni plugin"
|
234 |
|
235 |
+
#: lib/yit-plugin-panel.php:96 lib/yit-plugin-subpanel.php:101
|
236 |
msgid "YIT Plugins"
|
237 |
msgstr "YIT Plugins"
|
238 |
|
239 |
+
#: lib/yit-plugin-panel.php:288 lib/yit-plugin-subpanel.php:143
|
240 |
#: templates/panel/woocommerce/woocommerce-form.php:5
|
241 |
msgid "Save Changes"
|
242 |
msgstr "Salva modifiche"
|
243 |
|
244 |
+
#: lib/yit-plugin-panel.php:291 templates/panel/woocommerce/woocommerce-form.php:8
|
245 |
msgid "If you continue with this action, you will reset all options in this page."
|
246 |
msgstr ""
|
247 |
"Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
|
248 |
"reimpostate."
|
249 |
|
250 |
+
#: lib/yit-plugin-panel.php:293 lib/yit-plugin-subpanel.php:148
|
251 |
+
msgid "Reset to default"
|
252 |
+
msgstr ""
|
253 |
|
254 |
+
#: lib/yit-plugin-panel.php:293 lib/yit-plugin-subpanel.php:148
|
255 |
+
#: templates/panel/woocommerce/woocommerce-form.php:11
|
256 |
msgid "Are you sure?"
|
257 |
msgstr "Sei sicuro?"
|
258 |
|
259 |
+
#: lib/yit-plugin-panel.php:427
|
260 |
msgid "The element you have entered already exists. Please, enter another name."
|
261 |
msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
|
262 |
|
263 |
+
#: lib/yit-plugin-panel.php:428
|
264 |
msgid "Settings saved"
|
265 |
msgstr "Impostazioni salvate"
|
266 |
|
267 |
+
#: lib/yit-plugin-panel.php:429
|
268 |
msgid "Settings reset"
|
269 |
msgstr "Impostazioni azzerate"
|
270 |
|
271 |
+
#: lib/yit-plugin-panel.php:430
|
272 |
msgid "Element deleted correctly."
|
273 |
msgstr "Elemento rimosso correttamente."
|
274 |
|
275 |
+
#: lib/yit-plugin-panel.php:431 lib/yit-plugin-panel.php:432
|
276 |
msgid "Element updated correctly."
|
277 |
msgstr "Elemento aggiornato correttamente."
|
278 |
|
279 |
+
#: lib/yit-plugin-panel.php:433
|
280 |
msgid "Database imported correctly."
|
281 |
msgstr "Database importato correttamente."
|
282 |
|
283 |
+
#: lib/yit-plugin-panel.php:434
|
284 |
msgid "An error has occurred during import. Please try again."
|
285 |
msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
|
286 |
|
287 |
+
#: lib/yit-plugin-panel.php:435
|
288 |
msgid "The added file is not valid."
|
289 |
msgstr "Il file aggiunto non è valido."
|
290 |
|
291 |
+
#: lib/yit-plugin-panel.php:436
|
292 |
msgid "Sorry, import is disabled."
|
293 |
msgstr "Ci dispiace, l'importazione è disabilitata."
|
294 |
|
295 |
+
#: lib/yit-plugin-panel.php:437
|
296 |
msgid "Sorting successful."
|
297 |
msgstr "Ordinamento effettuato con successo."
|
298 |
|
299 |
+
#: lib/yit-plugin-subpanel.php:146
|
300 |
msgid ""
|
301 |
"If you continue with this action, you will reset all the options in this page."
|
302 |
msgstr ""
|
368 |
msgid "Update now."
|
369 |
msgstr "Aggiorna adesso."
|
370 |
|
371 |
+
#: lib/yit-upgrade.php:250
|
372 |
msgid "Yithemes Repository"
|
373 |
msgstr "Repository YIThemes"
|
374 |
|
375 |
+
#: lib/yit-upgrade.php:284
|
376 |
msgid "Invalid URL Provided."
|
377 |
msgstr "L'URL inserito non è valido."
|
378 |
|
379 |
+
#: lib/yit-upgrade.php:297
|
380 |
msgid "Could not create Temporary file."
|
381 |
msgstr "Non è stato possibile creare il file temporaneo."
|
382 |
|
383 |
+
#: lib/yit-upgrade.php:439
|
384 |
#, php-format
|
385 |
msgid ""
|
386 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
389 |
"È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
|
390 |
"changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a>."
|
391 |
|
392 |
+
#: lib/yit-upgrade.php:441
|
393 |
#, php-format
|
394 |
msgid ""
|
395 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
402 |
"<em>Per poter usufruire degli aggiornamenti automatici è necessario attivare il "
|
403 |
"plugin su un solo sito.</em>"
|
404 |
|
405 |
+
#: lib/yit-upgrade.php:443
|
406 |
#, php-format
|
407 |
msgid ""
|
408 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
409 |
"changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
|
410 |
+
"update is unavailable for this plugin, please <a href=\"%5$s\" title=\"License "
|
411 |
"activation\">activate</a> your copy of %6s.</em>"
|
412 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
413 |
|
414 |
+
#: lib/yit-upgrade.php:445
|
415 |
#, php-format
|
416 |
msgid ""
|
417 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
422 |
"changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</a> "
|
423 |
"oppure <a href=\"%5$s\">aggiorna adesso</a>."
|
424 |
|
425 |
+
#: lib/yit-upgrade.php:518
|
426 |
msgid "You can't update the plugins for this site."
|
427 |
msgstr "Non è possibile aggiornare i plugin per questo sito."
|
428 |
|
429 |
+
#: lib/yit-upgrade.php:522
|
430 |
msgid "You do not have sufficient permissions to update the plugins for this site."
|
431 |
msgstr ""
|
432 |
"Non sei in possesso delle autorizzazioni necessarie per aggiornare i plugin in "
|
433 |
"questo sito."
|
434 |
|
435 |
+
#: lib/yit-upgrade.php:529
|
436 |
msgid "Update Plugin"
|
437 |
msgstr "Aggiorna plugin"
|
438 |
|
439 |
+
#: licence/lib/yit-licence.php:170
|
440 |
#, php-format
|
441 |
msgctxt "%s = field name"
|
442 |
msgid "%s field cannot be empty"
|
443 |
msgstr "Il campo %s non può essere vuoto"
|
444 |
|
445 |
+
#: licence/lib/yit-licence.php:171
|
446 |
#, php-format
|
447 |
msgid "%s and %s fields cannot be empty"
|
448 |
msgstr "I campi %s e %s non possono essere vuoti"
|
449 |
|
450 |
+
#: licence/lib/yit-licence.php:172
|
451 |
msgid "Unable to contact the remote server, please try again later. Thanks!"
|
452 |
msgstr "Impossibile contattare il server remoto, prova più tardi. Grazie!"
|
453 |
|
454 |
+
#: licence/lib/yit-licence.php:173
|
455 |
+
#: licence/templates/panel/activation/activation-panel.php:89
|
456 |
+
#: licence/templates/panel/activation/activation-panel.php:164
|
457 |
+
#: licence/templates/panel/activation/activation-panel.php:195
|
458 |
+
#: templates/metaboxes/types/contactform.php:148
|
459 |
+
#: templates/metaboxes/types/contactform.php:340
|
460 |
+
msgid "Email"
|
461 |
+
msgstr "Email"
|
462 |
+
|
463 |
+
#: licence/lib/yit-licence.php:174
|
464 |
+
#: licence/templates/panel/activation/activation-panel.php:90
|
465 |
+
#: licence/templates/panel/activation/activation-panel.php:165
|
466 |
+
#: licence/templates/panel/activation/activation-panel.php:196
|
467 |
+
msgid "License Key"
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: licence/lib/yit-licence.php:175
|
471 |
+
msgid "Are you sure you want to deactivate the license for current site?"
|
472 |
+
msgstr ""
|
473 |
+
|
474 |
+
#: licence/lib/yit-licence.php:638
|
475 |
msgid "Invalid Request"
|
476 |
msgstr "Richiesta non valida"
|
477 |
|
478 |
+
#: licence/lib/yit-licence.php:639
|
479 |
+
msgid "Invalid license key"
|
480 |
+
msgstr ""
|
481 |
|
482 |
+
#: licence/lib/yit-licence.php:640
|
483 |
msgid "Software has been deactivated"
|
484 |
msgstr "Il software è stato disattivato"
|
485 |
|
486 |
+
#: licence/lib/yit-licence.php:641
|
487 |
msgid "Maximum number of activations exceeded"
|
488 |
msgstr "Hai raggiunto il numero massimo di attivazioni"
|
489 |
|
490 |
+
#: licence/lib/yit-licence.php:642
|
491 |
msgid "Invalid instance ID"
|
492 |
msgstr "Istanza ID non valida"
|
493 |
|
494 |
+
#: licence/lib/yit-licence.php:643
|
495 |
msgid "Invalid security key"
|
496 |
msgstr "Chiave di sicurezza non valida"
|
497 |
|
498 |
+
#: licence/lib/yit-licence.php:644
|
499 |
+
msgid "License key has expired"
|
500 |
+
msgstr ""
|
501 |
+
|
502 |
+
#: licence/lib/yit-licence.php:645
|
503 |
+
msgid "License key has been banned"
|
504 |
+
msgstr ""
|
505 |
+
|
506 |
+
#: licence/lib/yit-licence.php:646
|
507 |
+
msgid "Great"
|
508 |
+
msgstr ""
|
509 |
+
|
510 |
+
#: licence/lib/yit-licence.php:646
|
511 |
+
msgid "License successfully activated"
|
512 |
+
msgstr ""
|
513 |
|
514 |
+
#: licence/lib/yit-licence.php:647
|
515 |
+
msgid "License key deactivated for website"
|
516 |
+
msgstr ""
|
517 |
|
518 |
+
#: licence/lib/yit-plugin-licence.php:68 licence/lib/yit-plugin-licence.php:69
|
519 |
+
#: licence/lib/yit-theme-licence.php:70 licence/lib/yit-theme-licence.php:71
|
520 |
+
#: licence/lib/yit-theme-licence.php:110 licence/lib/yit-theme-licence.php:111
|
521 |
+
msgid "License Activation"
|
522 |
+
msgstr ""
|
523 |
|
524 |
+
#: licence/lib/yit-theme-licence.php:118 licence/lib/yit-theme-licence.php:119
|
525 |
#, php-format
|
526 |
msgid "%s"
|
527 |
msgstr "%s"
|
528 |
|
529 |
+
#: licence/lib/yit-theme-licence.php:160
|
|
|
|
|
|
|
|
|
530 |
msgid ""
|
531 |
"I cannot find the license key for activating the theme I have bought some time "
|
532 |
"ago. Where can I find it?"
|
534 |
"Non riesco a trovare la chiave di licenza per l'attivazione del tema che ho "
|
535 |
"acquistato diverso tempo fa. Dove posso trovarla?"
|
536 |
|
537 |
+
#: licence/lib/yit-theme-licence.php:163
|
538 |
msgid ""
|
539 |
"If you have purchased one of our products before 27 January 2015, you can benefit "
|
540 |
"from support and updates (the services offered with the license)\n"
|
541 |
+
" until 27 January 2016 and you do not have to purchase it again "
|
542 |
+
"to get a new license key, because, before this date, your license used to be "
|
543 |
+
"activated automatically by our system.\n"
|
544 |
+
" After 27 January 2016, instead, if you want to benefit from "
|
545 |
+
"support and updates you have to buy a new license and activate it through the "
|
546 |
+
"license key you will be\n"
|
547 |
+
" provided with and that you can find in your YIThemes account, "
|
548 |
+
"in section \"My licenses\"."
|
549 |
+
msgstr ""
|
550 |
+
|
551 |
+
#: licence/templates/panel/activation/activation-panel.php:22
|
552 |
+
msgid "Yithemes License Activation"
|
553 |
+
msgstr ""
|
554 |
+
|
555 |
+
#: licence/templates/panel/activation/activation-panel.php:28
|
|
|
|
|
|
|
|
|
|
|
556 |
msgid ""
|
557 |
"Have you updated your licenses? Have you asked for an extension? Update "
|
558 |
"information concerning your products."
|
560 |
"Hai aggiornato la tua licenza? Hai richiesto un'estensione? Aggiorna le "
|
561 |
"informazioni dei tuoi prodotti."
|
562 |
|
563 |
+
#: licence/templates/panel/activation/activation-panel.php:30
|
564 |
+
msgid "Update license information"
|
565 |
+
msgstr ""
|
566 |
|
567 |
+
#: licence/templates/panel/activation/activation-panel.php:43
|
568 |
+
msgid "Product to activate"
|
569 |
+
msgid_plural "Products to activate"
|
570 |
+
msgstr[0] ""
|
571 |
+
msgstr[1] ""
|
572 |
|
573 |
+
#: licence/templates/panel/activation/activation-panel.php:62
|
574 |
msgid "Activate"
|
575 |
msgstr "Attiva"
|
576 |
|
577 |
+
#: licence/templates/panel/activation/activation-panel.php:81
|
578 |
msgid "Activated"
|
579 |
msgstr "Attivato"
|
580 |
|
581 |
+
#: licence/templates/panel/activation/activation-panel.php:87
|
582 |
+
#: licence/templates/panel/activation/activation-panel.php:162
|
583 |
+
#: licence/templates/panel/activation/activation-panel.php:192
|
584 |
msgid "Product Name"
|
585 |
msgstr "Nome prodotto"
|
586 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
587 |
#: licence/templates/panel/activation/activation-panel.php:93
|
588 |
+
#: licence/templates/panel/activation/activation-panel.php:199
|
|
|
|
|
|
|
|
|
|
|
|
|
589 |
msgid "Expires"
|
590 |
msgstr "Scadenza"
|
591 |
|
592 |
+
#: licence/templates/panel/activation/activation-panel.php:96
|
593 |
msgid "Remaining"
|
594 |
msgstr "Tempo rimanente"
|
595 |
|
596 |
+
#: licence/templates/panel/activation/activation-panel.php:97
|
597 |
+
#: licence/templates/panel/activation/activation-panel.php:223
|
598 |
+
msgid "Membership"
|
599 |
+
msgstr ""
|
|
|
|
|
600 |
|
601 |
+
#: licence/templates/panel/activation/activation-panel.php:100
|
602 |
+
msgid "License Actions"
|
603 |
+
msgstr ""
|
604 |
+
|
605 |
+
#: licence/templates/panel/activation/activation-panel.php:125
|
606 |
#, php-format
|
607 |
msgid "%1s out of %2s"
|
608 |
msgstr "%1s di %2s"
|
609 |
|
610 |
+
#: licence/templates/panel/activation/activation-panel.php:140
|
611 |
+
msgid "Deactivate"
|
612 |
+
msgstr ""
|
613 |
+
|
614 |
+
#: licence/templates/panel/activation/activation-panel.php:145
|
615 |
+
#: licence/templates/panel/activation/activation-panel.php:202
|
616 |
+
#: licence/templates/panel/activation/activation-panel.php:223
|
617 |
+
msgid "Renew"
|
618 |
+
msgstr "Rinnova"
|
619 |
+
|
620 |
+
#: licence/templates/panel/activation/activation-panel.php:158
|
621 |
msgid "Banned"
|
622 |
msgstr "Bloccato"
|
623 |
|
624 |
+
#: licence/templates/panel/activation/activation-panel.php:188
|
625 |
msgid "Expired"
|
626 |
msgstr "Non più valido"
|
627 |
|
628 |
+
#: licence/templates/panel/activation/activation-panel.php:223
|
629 |
+
msgid "License"
|
630 |
+
msgstr ""
|
631 |
+
|
632 |
#: templates/metaboxes/types/ajax-products.php:23
|
633 |
msgid "Search for a product"
|
634 |
msgstr "Cerca un prodotto"
|
825 |
#: templates/metaboxes/types/icon-list.php:69
|
826 |
#: templates/metaboxes/types/select-icon.php:33
|
827 |
#: templates/metaboxes/types/upload.php:21 templates/panel/types/upload.php:31
|
828 |
+
#: templates/panel/woocommerce/woocommerce-upload.php:40
|
829 |
msgid "Upload"
|
830 |
msgstr "Carica"
|
831 |
|
993 |
msgid "Italic bold"
|
994 |
msgstr "Grassetto corsivo"
|
995 |
|
996 |
+
#: templates/panel/woocommerce/woocommerce-form.php:11
|
997 |
msgid "Reset Defaults"
|
998 |
msgstr "Ripristina impostazioni iniziali"
|
999 |
|
1000 |
+
#~ msgid "Layout for this "
|
1001 |
+
#~ msgstr "Layout per questo"
|
1002 |
+
|
1003 |
+
#~ msgid "Add with multiupload"
|
1004 |
+
#~ msgstr "Aggiungi con caricamento multiplo"
|
1005 |
+
|
1006 |
+
#~ msgid "Reset to Default"
|
1007 |
+
#~ msgstr "Ripristina impostazioni iniziali"
|
1008 |
+
|
1009 |
+
#~ msgid ""
|
1010 |
+
#~ "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
1011 |
+
#~ "changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
|
1012 |
+
#~ "update is unavailable for this plugin, please <a href=\"%5$s\" title=\"Licence "
|
1013 |
+
#~ "activation\">activate</a> your copy of %6s.</em>"
|
1014 |
+
#~ msgstr ""
|
1015 |
+
#~ "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox yit-"
|
1016 |
+
#~ "changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione %4$s</"
|
1017 |
+
#~ "a>. <em>Gli aggiornamenti automatici non sono disponibili per questo plugi, per "
|
1018 |
+
#~ "favore, <a href=\"%5$s\" title=\"Licence activation\">attiva</a> la tua copia "
|
1019 |
+
#~ "di %6s.</em>"
|
1020 |
+
|
1021 |
+
#~ msgid "Invalid licence key"
|
1022 |
+
#~ msgstr "Chiave di licenza non valida"
|
1023 |
+
|
1024 |
+
#~ msgid "Licence key has expired"
|
1025 |
+
#~ msgstr "Questa chiave di licenza è scaduta"
|
1026 |
+
|
1027 |
+
#~ msgid "Licence key has been banned"
|
1028 |
+
#~ msgstr "Questa chiave di licenza è stata bloccata"
|
1029 |
+
|
1030 |
+
#~ msgid "Licence Activation"
|
1031 |
+
#~ msgstr "Attivazione licenza"
|
1032 |
+
|
1033 |
+
#~ msgid "Yithemes Licence Activation"
|
1034 |
+
#~ msgstr "Attivazione licenza YIThemes"
|
1035 |
+
|
1036 |
+
#~ msgid ""
|
1037 |
+
#~ "If you have purchased one of our products before 27 January 2015, you can "
|
1038 |
+
#~ "benefit from support and updates (the services offered with the license)\n"
|
1039 |
+
#~ " until 27 January 2016 and you do not have to purchase it again to "
|
1040 |
+
#~ "get a new license key, because, before this date, your license used to be "
|
1041 |
+
#~ "activated automatically by our system.\n"
|
1042 |
+
#~ " After 27 January 2016, instead, if you want to benefit from support "
|
1043 |
+
#~ "and updates you have to buy a new license and activate it through the license "
|
1044 |
+
#~ "key you will be\n"
|
1045 |
+
#~ " provided with and that you can find in your YIThemes account, in "
|
1046 |
+
#~ "section \"My licenses\"."
|
1047 |
+
#~ msgstr ""
|
1048 |
+
#~ "Se hai acquistato un nostro prodotto prima del 27 gennaio 2015 potrai accedere "
|
1049 |
+
#~ "al supporto e scaricare gli aggiornamenti fino al 27 gennaio 2016 e non avrai "
|
1050 |
+
#~ "bisogno di una chiave di licenza,\n"
|
1051 |
+
#~ "in quanto la tua licenza prima di questa data veniva attivata in modo "
|
1052 |
+
#~ "automatico dal nostro sistema.\n"
|
1053 |
+
#~ "Dopo il 27 gennaio 2016, invece, per poter usufruire del servizio di supporto e "
|
1054 |
+
#~ "degli aggiornamenti dovrai riacquistare il prodotto e\n"
|
1055 |
+
#~ "attivarlo con la chiave di licenza che ti sarà fornita e che puoi trovare sul "
|
1056 |
+
#~ "tuo account YIThemes, alla voce \"Le mie licenze\"."
|
1057 |
+
|
1058 |
+
#~ msgid "Update licence information"
|
1059 |
+
#~ msgstr "Aggiorna le informazioni di licenza"
|
1060 |
+
|
1061 |
+
#~ msgid "Products to be activated"
|
1062 |
+
#~ msgstr "Prodotti da attivare"
|
1063 |
+
|
1064 |
+
#~ msgid "Licence Key"
|
1065 |
+
#~ msgstr "Chiave di licenza"
|
1066 |
+
|
1067 |
#~ msgid "%field_1% and %field_2% fields cannot be empty"
|
1068 |
#~ msgstr "I campi %field_1% e %field_2% non possono essere vuoti"
|
1069 |
|
plugin-fw/languages/yith-plugin-fw.pot
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
# Copyright (C) 2015 YIThemes
|
2 |
# This file is distributed under the same license as the YITH Plugin Starter package.
|
|
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
|
6 |
"Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2015-
|
8 |
"PO-Revision-Date: 2015-05-05 10:38+0100\n"
|
9 |
"Last-Translator: \n"
|
10 |
"Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
|
@@ -12,7 +13,7 @@ msgstr ""
|
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=utf-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Poedit 1.
|
16 |
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
17 |
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
18 |
"esc_html_x:1,2c\n"
|
@@ -136,7 +137,8 @@ msgid "Type"
|
|
136 |
msgstr ""
|
137 |
|
138 |
#: lib/yit-cpt-unlimited.php:1052
|
139 |
-
|
|
|
140 |
msgstr ""
|
141 |
|
142 |
#: lib/yit-cpt-unlimited.php:1058
|
@@ -215,10 +217,10 @@ msgid "Add %s from images"
|
|
215 |
msgstr ""
|
216 |
|
217 |
#: lib/yit-cpt-unlimited.php:1633
|
218 |
-
msgid "
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: lib/yit-plugin-panel-wc.php:
|
222 |
msgid "The changes you have made will be lost if you leave this page."
|
223 |
msgstr ""
|
224 |
|
@@ -226,69 +228,69 @@ msgstr ""
|
|
226 |
msgid "Plugin Settings"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: lib/yit-plugin-panel.php:
|
230 |
msgid "YIT Plugins"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: lib/yit-plugin-panel.php:
|
234 |
#: templates/panel/woocommerce/woocommerce-form.php:5
|
235 |
msgid "Save Changes"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: lib/yit-plugin-panel.php:
|
239 |
msgid "If you continue with this action, you will reset all options in this page."
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: lib/yit-plugin-panel.php:
|
243 |
-
msgid "Reset to
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: lib/yit-plugin-panel.php:
|
247 |
-
#: templates/panel/woocommerce/woocommerce-form.php:
|
248 |
msgid "Are you sure?"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: lib/yit-plugin-panel.php:
|
252 |
msgid "The element you have entered already exists. Please, enter another name."
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: lib/yit-plugin-panel.php:
|
256 |
msgid "Settings saved"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: lib/yit-plugin-panel.php:
|
260 |
msgid "Settings reset"
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: lib/yit-plugin-panel.php:
|
264 |
msgid "Element deleted correctly."
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: lib/yit-plugin-panel.php:
|
268 |
msgid "Element updated correctly."
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: lib/yit-plugin-panel.php:
|
272 |
msgid "Database imported correctly."
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: lib/yit-plugin-panel.php:
|
276 |
msgid "An error has occurred during import. Please try again."
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: lib/yit-plugin-panel.php:
|
280 |
msgid "The added file is not valid."
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: lib/yit-plugin-panel.php:
|
284 |
msgid "Sorry, import is disabled."
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: lib/yit-plugin-panel.php:
|
288 |
msgid "Sorting successful."
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: lib/yit-plugin-subpanel.php:
|
292 |
msgid ""
|
293 |
"If you continue with this action, you will reset all the options in this page."
|
294 |
msgstr ""
|
@@ -347,26 +349,26 @@ msgstr ""
|
|
347 |
msgid "Update now."
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: lib/yit-upgrade.php:
|
351 |
msgid "Yithemes Repository"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: lib/yit-upgrade.php:
|
355 |
msgid "Invalid URL Provided."
|
356 |
msgstr ""
|
357 |
|
358 |
-
#: lib/yit-upgrade.php:
|
359 |
msgid "Could not create Temporary file."
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: lib/yit-upgrade.php:
|
363 |
#, php-format
|
364 |
msgid ""
|
365 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
366 |
"changelog-button\" title=\"%3$s\">View version %4$s details</a>."
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: lib/yit-upgrade.php:
|
370 |
#, php-format
|
371 |
msgid ""
|
372 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
@@ -375,16 +377,16 @@ msgid ""
|
|
375 |
"updates.</em>"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: lib/yit-upgrade.php:
|
379 |
#, php-format
|
380 |
msgid ""
|
381 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
382 |
"changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
|
383 |
-
"update is unavailable for this plugin, please <a href=\"%5$s\" title=\"
|
384 |
"activation\">activate</a> your copy of %6s.</em>"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: lib/yit-upgrade.php:
|
388 |
#, php-format
|
389 |
msgid ""
|
390 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
@@ -392,169 +394,207 @@ msgid ""
|
|
392 |
"\">update now</a>."
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: lib/yit-upgrade.php:
|
396 |
msgid "You can't update the plugins for this site."
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: lib/yit-upgrade.php:
|
400 |
msgid "You do not have sufficient permissions to update the plugins for this site."
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: lib/yit-upgrade.php:
|
404 |
msgid "Update Plugin"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: licence/lib/yit-licence.php:
|
408 |
#, php-format
|
409 |
-
|
|
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: licence/lib/yit-licence.php:
|
413 |
-
|
|
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: licence/lib/yit-licence.php:
|
417 |
msgid "Unable to contact the remote server, please try again later. Thanks!"
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: licence/lib/yit-licence.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
msgid "Invalid Request"
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: licence/lib/yit-licence.php:
|
425 |
-
msgid "Invalid
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: licence/lib/yit-licence.php:
|
429 |
msgid "Software has been deactivated"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: licence/lib/yit-licence.php:
|
433 |
msgid "Maximum number of activations exceeded"
|
434 |
msgstr ""
|
435 |
|
436 |
-
#: licence/lib/yit-licence.php:
|
437 |
msgid "Invalid instance ID"
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: licence/lib/yit-licence.php:
|
441 |
msgid "Invalid security key"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: licence/lib/yit-licence.php:
|
445 |
-
msgid "
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: licence/lib/yit-licence.php:
|
449 |
-
msgid "
|
450 |
msgstr ""
|
451 |
|
452 |
-
#: licence/lib/yit-
|
453 |
-
|
454 |
-
#: licence/lib/yit-theme-licence.php:107 licence/lib/yit-theme-licence.php:108
|
455 |
-
msgid "Licence Activation"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: licence/lib/yit-
|
459 |
-
|
460 |
-
msgid "%s"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: licence/
|
464 |
-
msgid "
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: licence/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
msgid ""
|
469 |
"I cannot find the license key for activating the theme I have bought some time "
|
470 |
"ago. Where can I find it?"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: licence/
|
474 |
msgid ""
|
475 |
"If you have purchased one of our products before 27 January 2015, you can benefit "
|
476 |
"from support and updates (the services offered with the license)\n"
|
477 |
-
"
|
478 |
-
"a new license key, because, before this date, your license used to be
|
479 |
-
"automatically by our system.\n"
|
480 |
-
"
|
481 |
-
"and updates you have to buy a new license and activate it through the
|
482 |
-
"you will be\n"
|
483 |
-
"
|
484 |
-
"section \"My licenses\"."
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
|
|
|
|
|
|
|
|
488 |
msgid ""
|
489 |
"Have you updated your licenses? Have you asked for an extension? Update "
|
490 |
"information concerning your products."
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
494 |
-
msgid "Update
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
498 |
-
msgid "
|
499 |
-
|
|
|
|
|
500 |
|
501 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
502 |
msgid "Activate"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
506 |
msgid "Activated"
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
510 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
511 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
512 |
msgid "Product Name"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: licence/templates/panel/activation/activation-panel.php:92
|
516 |
-
#: licence/templates/panel/activation/activation-panel.php:124
|
517 |
-
#: licence/templates/panel/activation/activation-panel.php:148
|
518 |
-
#: templates/metaboxes/types/contactform.php:148
|
519 |
-
#: templates/metaboxes/types/contactform.php:340
|
520 |
-
msgid "Email"
|
521 |
-
msgstr ""
|
522 |
-
|
523 |
#: licence/templates/panel/activation/activation-panel.php:93
|
524 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
525 |
-
#: licence/templates/panel/activation/activation-panel.php:149
|
526 |
-
msgid "Licence Key"
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: licence/templates/panel/activation/activation-panel.php:94
|
530 |
-
#: licence/templates/panel/activation/activation-panel.php:150
|
531 |
msgid "Expires"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
535 |
msgid "Remaining"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
539 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
540 |
-
|
541 |
-
|
542 |
-
|
|
|
|
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
546 |
#, php-format
|
547 |
msgid "%1s out of %2s"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
551 |
msgid "Banned"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: licence/templates/panel/activation/activation-panel.php:
|
555 |
msgid "Expired"
|
556 |
msgstr ""
|
557 |
|
|
|
|
|
|
|
|
|
558 |
#: templates/metaboxes/types/ajax-products.php:23
|
559 |
msgid "Search for a product"
|
560 |
msgstr ""
|
@@ -630,7 +670,7 @@ msgstr ""
|
|
630 |
|
631 |
#: templates/metaboxes/types/contactform.php:77
|
632 |
#: templates/metaboxes/types/contactform.php:269
|
633 |
-
msgid "Title
|
634 |
msgstr ""
|
635 |
|
636 |
#: templates/metaboxes/types/contactform.php:81
|
@@ -652,7 +692,7 @@ msgstr ""
|
|
652 |
|
653 |
#: templates/metaboxes/types/contactform.php:95
|
654 |
#: templates/metaboxes/types/contactform.php:287
|
655 |
-
msgid "Type
|
656 |
msgstr ""
|
657 |
|
658 |
#: templates/metaboxes/types/contactform.php:103
|
@@ -747,7 +787,7 @@ msgstr ""
|
|
747 |
#: templates/metaboxes/types/icon-list.php:69
|
748 |
#: templates/metaboxes/types/select-icon.php:33
|
749 |
#: templates/metaboxes/types/upload.php:21 templates/panel/types/upload.php:31
|
750 |
-
#: templates/panel/woocommerce/woocommerce-upload.php:
|
751 |
msgid "Upload"
|
752 |
msgstr ""
|
753 |
|
@@ -915,6 +955,6 @@ msgstr ""
|
|
915 |
msgid "Italic bold"
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: templates/panel/woocommerce/woocommerce-form.php:
|
919 |
msgid "Reset Defaults"
|
920 |
msgstr ""
|
1 |
# Copyright (C) 2015 YIThemes
|
2 |
# This file is distributed under the same license as the YITH Plugin Starter package.
|
3 |
+
#, fuzzy
|
4 |
msgid ""
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
|
7 |
"Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
|
8 |
+
"POT-Creation-Date: 2015-11-16 12:23+0100\n"
|
9 |
"PO-Revision-Date: 2015-05-05 10:38+0100\n"
|
10 |
"Last-Translator: \n"
|
11 |
"Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=utf-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
+
"X-Generator: Poedit 1.8.1\n"
|
17 |
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
18 |
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
19 |
"esc_html_x:1,2c\n"
|
137 |
msgstr ""
|
138 |
|
139 |
#: lib/yit-cpt-unlimited.php:1052
|
140 |
+
#, php-format
|
141 |
+
msgid "Layout for this %s"
|
142 |
msgstr ""
|
143 |
|
144 |
#: lib/yit-cpt-unlimited.php:1058
|
217 |
msgstr ""
|
218 |
|
219 |
#: lib/yit-cpt-unlimited.php:1633
|
220 |
+
msgid "Upload multiple files"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: lib/yit-plugin-panel-wc.php:336
|
224 |
msgid "The changes you have made will be lost if you leave this page."
|
225 |
msgstr ""
|
226 |
|
228 |
msgid "Plugin Settings"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: lib/yit-plugin-panel.php:96 lib/yit-plugin-subpanel.php:101
|
232 |
msgid "YIT Plugins"
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: lib/yit-plugin-panel.php:288 lib/yit-plugin-subpanel.php:143
|
236 |
#: templates/panel/woocommerce/woocommerce-form.php:5
|
237 |
msgid "Save Changes"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: lib/yit-plugin-panel.php:291 templates/panel/woocommerce/woocommerce-form.php:8
|
241 |
msgid "If you continue with this action, you will reset all options in this page."
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: lib/yit-plugin-panel.php:293 lib/yit-plugin-subpanel.php:148
|
245 |
+
msgid "Reset to default"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: lib/yit-plugin-panel.php:293 lib/yit-plugin-subpanel.php:148
|
249 |
+
#: templates/panel/woocommerce/woocommerce-form.php:11
|
250 |
msgid "Are you sure?"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: lib/yit-plugin-panel.php:427
|
254 |
msgid "The element you have entered already exists. Please, enter another name."
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: lib/yit-plugin-panel.php:428
|
258 |
msgid "Settings saved"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: lib/yit-plugin-panel.php:429
|
262 |
msgid "Settings reset"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: lib/yit-plugin-panel.php:430
|
266 |
msgid "Element deleted correctly."
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: lib/yit-plugin-panel.php:431 lib/yit-plugin-panel.php:432
|
270 |
msgid "Element updated correctly."
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: lib/yit-plugin-panel.php:433
|
274 |
msgid "Database imported correctly."
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: lib/yit-plugin-panel.php:434
|
278 |
msgid "An error has occurred during import. Please try again."
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: lib/yit-plugin-panel.php:435
|
282 |
msgid "The added file is not valid."
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: lib/yit-plugin-panel.php:436
|
286 |
msgid "Sorry, import is disabled."
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: lib/yit-plugin-panel.php:437
|
290 |
msgid "Sorting successful."
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: lib/yit-plugin-subpanel.php:146
|
294 |
msgid ""
|
295 |
"If you continue with this action, you will reset all the options in this page."
|
296 |
msgstr ""
|
349 |
msgid "Update now."
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: lib/yit-upgrade.php:250
|
353 |
msgid "Yithemes Repository"
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: lib/yit-upgrade.php:284
|
357 |
msgid "Invalid URL Provided."
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: lib/yit-upgrade.php:297
|
361 |
msgid "Could not create Temporary file."
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: lib/yit-upgrade.php:439
|
365 |
#, php-format
|
366 |
msgid ""
|
367 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
368 |
"changelog-button\" title=\"%3$s\">View version %4$s details</a>."
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: lib/yit-upgrade.php:441
|
372 |
#, php-format
|
373 |
msgid ""
|
374 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
377 |
"updates.</em>"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: lib/yit-upgrade.php:443
|
381 |
#, php-format
|
382 |
msgid ""
|
383 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
384 |
"changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>Automatic "
|
385 |
+
"update is unavailable for this plugin, please <a href=\"%5$s\" title=\"License "
|
386 |
"activation\">activate</a> your copy of %6s.</em>"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: lib/yit-upgrade.php:445
|
390 |
#, php-format
|
391 |
msgid ""
|
392 |
"There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
|
394 |
"\">update now</a>."
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: lib/yit-upgrade.php:518
|
398 |
msgid "You can't update the plugins for this site."
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: lib/yit-upgrade.php:522
|
402 |
msgid "You do not have sufficient permissions to update the plugins for this site."
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: lib/yit-upgrade.php:529
|
406 |
msgid "Update Plugin"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: licence/lib/yit-licence.php:170
|
410 |
#, php-format
|
411 |
+
msgctxt "%s = field name"
|
412 |
+
msgid "%s field cannot be empty"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: licence/lib/yit-licence.php:171
|
416 |
+
#, php-format
|
417 |
+
msgid "%s and %s fields cannot be empty"
|
418 |
msgstr ""
|
419 |
|
420 |
+
#: licence/lib/yit-licence.php:172
|
421 |
msgid "Unable to contact the remote server, please try again later. Thanks!"
|
422 |
msgstr ""
|
423 |
|
424 |
+
#: licence/lib/yit-licence.php:173
|
425 |
+
#: licence/templates/panel/activation/activation-panel.php:89
|
426 |
+
#: licence/templates/panel/activation/activation-panel.php:164
|
427 |
+
#: licence/templates/panel/activation/activation-panel.php:195
|
428 |
+
#: templates/metaboxes/types/contactform.php:148
|
429 |
+
#: templates/metaboxes/types/contactform.php:340
|
430 |
+
msgid "Email"
|
431 |
+
msgstr ""
|
432 |
+
|
433 |
+
#: licence/lib/yit-licence.php:174
|
434 |
+
#: licence/templates/panel/activation/activation-panel.php:90
|
435 |
+
#: licence/templates/panel/activation/activation-panel.php:165
|
436 |
+
#: licence/templates/panel/activation/activation-panel.php:196
|
437 |
+
msgid "License Key"
|
438 |
+
msgstr ""
|
439 |
+
|
440 |
+
#: licence/lib/yit-licence.php:175
|
441 |
+
msgid "Are you sure you want to deactivate the license for current site?"
|
442 |
+
msgstr ""
|
443 |
+
|
444 |
+
#: licence/lib/yit-licence.php:638
|
445 |
msgid "Invalid Request"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: licence/lib/yit-licence.php:639
|
449 |
+
msgid "Invalid license key"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: licence/lib/yit-licence.php:640
|
453 |
msgid "Software has been deactivated"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: licence/lib/yit-licence.php:641
|
457 |
msgid "Maximum number of activations exceeded"
|
458 |
msgstr ""
|
459 |
|
460 |
+
#: licence/lib/yit-licence.php:642
|
461 |
msgid "Invalid instance ID"
|
462 |
msgstr ""
|
463 |
|
464 |
+
#: licence/lib/yit-licence.php:643
|
465 |
msgid "Invalid security key"
|
466 |
msgstr ""
|
467 |
|
468 |
+
#: licence/lib/yit-licence.php:644
|
469 |
+
msgid "License key has expired"
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: licence/lib/yit-licence.php:645
|
473 |
+
msgid "License key has been banned"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: licence/lib/yit-licence.php:646
|
477 |
+
msgid "Great"
|
|
|
|
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: licence/lib/yit-licence.php:646
|
481 |
+
msgid "License successfully activated"
|
|
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: licence/lib/yit-licence.php:647
|
485 |
+
msgid "License key deactivated for website"
|
486 |
msgstr ""
|
487 |
|
488 |
+
#: licence/lib/yit-plugin-licence.php:68 licence/lib/yit-plugin-licence.php:69
|
489 |
+
#: licence/lib/yit-theme-licence.php:70 licence/lib/yit-theme-licence.php:71
|
490 |
+
#: licence/lib/yit-theme-licence.php:110 licence/lib/yit-theme-licence.php:111
|
491 |
+
msgid "License Activation"
|
492 |
+
msgstr ""
|
493 |
+
|
494 |
+
#: licence/lib/yit-theme-licence.php:118 licence/lib/yit-theme-licence.php:119
|
495 |
+
#, php-format
|
496 |
+
msgid "%s"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#: licence/lib/yit-theme-licence.php:160
|
500 |
msgid ""
|
501 |
"I cannot find the license key for activating the theme I have bought some time "
|
502 |
"ago. Where can I find it?"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: licence/lib/yit-theme-licence.php:163
|
506 |
msgid ""
|
507 |
"If you have purchased one of our products before 27 January 2015, you can benefit "
|
508 |
"from support and updates (the services offered with the license)\n"
|
509 |
+
" until 27 January 2016 and you do not have to purchase it again "
|
510 |
+
"to get a new license key, because, before this date, your license used to be "
|
511 |
+
"activated automatically by our system.\n"
|
512 |
+
" After 27 January 2016, instead, if you want to benefit from "
|
513 |
+
"support and updates you have to buy a new license and activate it through the "
|
514 |
+
"license key you will be\n"
|
515 |
+
" provided with and that you can find in your YIThemes account, "
|
516 |
+
"in section \"My licenses\"."
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: licence/templates/panel/activation/activation-panel.php:22
|
520 |
+
msgid "Yithemes License Activation"
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
#: licence/templates/panel/activation/activation-panel.php:28
|
524 |
msgid ""
|
525 |
"Have you updated your licenses? Have you asked for an extension? Update "
|
526 |
"information concerning your products."
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: licence/templates/panel/activation/activation-panel.php:30
|
530 |
+
msgid "Update license information"
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: licence/templates/panel/activation/activation-panel.php:43
|
534 |
+
msgid "Product to activate"
|
535 |
+
msgid_plural "Products to activate"
|
536 |
+
msgstr[0] ""
|
537 |
+
msgstr[1] ""
|
538 |
|
539 |
+
#: licence/templates/panel/activation/activation-panel.php:62
|
540 |
msgid "Activate"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: licence/templates/panel/activation/activation-panel.php:81
|
544 |
msgid "Activated"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: licence/templates/panel/activation/activation-panel.php:87
|
548 |
+
#: licence/templates/panel/activation/activation-panel.php:162
|
549 |
+
#: licence/templates/panel/activation/activation-panel.php:192
|
550 |
msgid "Product Name"
|
551 |
msgstr ""
|
552 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
553 |
#: licence/templates/panel/activation/activation-panel.php:93
|
554 |
+
#: licence/templates/panel/activation/activation-panel.php:199
|
|
|
|
|
|
|
|
|
|
|
|
|
555 |
msgid "Expires"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: licence/templates/panel/activation/activation-panel.php:96
|
559 |
msgid "Remaining"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: licence/templates/panel/activation/activation-panel.php:97
|
563 |
+
#: licence/templates/panel/activation/activation-panel.php:223
|
564 |
+
msgid "Membership"
|
565 |
+
msgstr ""
|
566 |
+
|
567 |
+
#: licence/templates/panel/activation/activation-panel.php:100
|
568 |
+
msgid "License Actions"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: licence/templates/panel/activation/activation-panel.php:125
|
572 |
#, php-format
|
573 |
msgid "%1s out of %2s"
|
574 |
msgstr ""
|
575 |
|
576 |
+
#: licence/templates/panel/activation/activation-panel.php:140
|
577 |
+
msgid "Deactivate"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: licence/templates/panel/activation/activation-panel.php:145
|
581 |
+
#: licence/templates/panel/activation/activation-panel.php:202
|
582 |
+
#: licence/templates/panel/activation/activation-panel.php:223
|
583 |
+
msgid "Renew"
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: licence/templates/panel/activation/activation-panel.php:158
|
587 |
msgid "Banned"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: licence/templates/panel/activation/activation-panel.php:188
|
591 |
msgid "Expired"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: licence/templates/panel/activation/activation-panel.php:223
|
595 |
+
msgid "License"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
#: templates/metaboxes/types/ajax-products.php:23
|
599 |
msgid "Search for a product"
|
600 |
msgstr ""
|
670 |
|
671 |
#: templates/metaboxes/types/contactform.php:77
|
672 |
#: templates/metaboxes/types/contactform.php:269
|
673 |
+
msgid "Field Title"
|
674 |
msgstr ""
|
675 |
|
676 |
#: templates/metaboxes/types/contactform.php:81
|
692 |
|
693 |
#: templates/metaboxes/types/contactform.php:95
|
694 |
#: templates/metaboxes/types/contactform.php:287
|
695 |
+
msgid "Field Type"
|
696 |
msgstr ""
|
697 |
|
698 |
#: templates/metaboxes/types/contactform.php:103
|
787 |
#: templates/metaboxes/types/icon-list.php:69
|
788 |
#: templates/metaboxes/types/select-icon.php:33
|
789 |
#: templates/metaboxes/types/upload.php:21 templates/panel/types/upload.php:31
|
790 |
+
#: templates/panel/woocommerce/woocommerce-upload.php:40
|
791 |
msgid "Upload"
|
792 |
msgstr ""
|
793 |
|
955 |
msgid "Italic bold"
|
956 |
msgstr ""
|
957 |
|
958 |
+
#: templates/panel/woocommerce/woocommerce-form.php:11
|
959 |
msgid "Reset Defaults"
|
960 |
msgstr ""
|
plugin-fw/lib/yit-plugin-panel-wc.php
CHANGED
@@ -319,22 +319,27 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
|
|
319 |
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
|
320 |
*/
|
321 |
public function admin_enqueue_scripts() {
|
322 |
-
global $woocommerce;
|
323 |
|
324 |
wp_enqueue_style( 'raleway-font', '//fonts.googleapis.com/css?family=Raleway:400,500,600,700,800,100,200,300,900' );
|
325 |
|
326 |
wp_enqueue_media();
|
327 |
wp_enqueue_style( 'woocommerce_admin_styles', $woocommerce->plugin_url() . '/assets/css/admin.css', array(), $woocommerce->version );
|
328 |
-
|
329 |
wp_enqueue_style ( 'wp-jquery-ui-dialog' );
|
330 |
|
331 |
wp_enqueue_style( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/css/chosen/chosen.css' );
|
332 |
wp_enqueue_script( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array( 'jquery' ), '1.1.0', true );
|
333 |
wp_enqueue_script( 'woocommerce_settings', $woocommerce->plugin_url() . '/assets/js/admin/settings.min.js', array( 'jquery', 'jquery-ui-datepicker','jquery-ui-dialog', 'jquery-ui-sortable', 'iris', 'chosen' ), $woocommerce->version, true );
|
334 |
-
|
335 |
wp_localize_script( 'woocommerce_settings', 'woocommerce_settings_params', array(
|
336 |
'i18n_nav_warning' => __( 'The changes you have made will be lost if you leave this page.', 'yith-plugin-fw' )
|
337 |
) );
|
|
|
|
|
|
|
|
|
|
|
338 |
}
|
339 |
|
340 |
/**
|
319 |
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
|
320 |
*/
|
321 |
public function admin_enqueue_scripts() {
|
322 |
+
global $woocommerce, $pagenow;
|
323 |
|
324 |
wp_enqueue_style( 'raleway-font', '//fonts.googleapis.com/css?family=Raleway:400,500,600,700,800,100,200,300,900' );
|
325 |
|
326 |
wp_enqueue_media();
|
327 |
wp_enqueue_style( 'woocommerce_admin_styles', $woocommerce->plugin_url() . '/assets/css/admin.css', array(), $woocommerce->version );
|
328 |
+
wp_register_style( 'yit-plugin-style', YIT_CORE_PLUGIN_URL . '/assets/css/yit-plugin-panel.css', $woocommerce->version );
|
329 |
wp_enqueue_style ( 'wp-jquery-ui-dialog' );
|
330 |
|
331 |
wp_enqueue_style( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/css/chosen/chosen.css' );
|
332 |
wp_enqueue_script( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array( 'jquery' ), '1.1.0', true );
|
333 |
wp_enqueue_script( 'woocommerce_settings', $woocommerce->plugin_url() . '/assets/js/admin/settings.min.js', array( 'jquery', 'jquery-ui-datepicker','jquery-ui-dialog', 'jquery-ui-sortable', 'iris', 'chosen' ), $woocommerce->version, true );
|
334 |
+
wp_register_script( 'yit-plugin-panel', YIT_CORE_PLUGIN_URL . '/assets/js/yit-plugin-panel.min.js', array( 'jquery', 'jquery-chosen' ), $this->version, true );
|
335 |
wp_localize_script( 'woocommerce_settings', 'woocommerce_settings_params', array(
|
336 |
'i18n_nav_warning' => __( 'The changes you have made will be lost if you leave this page.', 'yith-plugin-fw' )
|
337 |
) );
|
338 |
+
|
339 |
+
if( 'admin.php' == $pagenow && strpos( get_current_screen()->id, 'yit-plugins_page' ) !== false ){
|
340 |
+
wp_enqueue_style( 'yit-plugin-style' );
|
341 |
+
wp_enqueue_script( 'yit-plugin-panel' );
|
342 |
+
}
|
343 |
}
|
344 |
|
345 |
/**
|
plugin-fw/lib/yit-plugin-panel.php
CHANGED
@@ -92,8 +92,12 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
|
|
92 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
93 |
*/
|
94 |
public function add_menu_page() {
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
97 |
}
|
98 |
|
99 |
/**
|
@@ -121,27 +125,32 @@ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
|
|
121 |
*/
|
122 |
public function admin_enqueue_scripts() {
|
123 |
|
124 |
-
|
125 |
|
126 |
//scripts
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
|
137 |
//styles
|
138 |
-
|
139 |
wp_register_style( 'codemirror', YIT_CORE_PLUGIN_URL . '/assets/css/codemirror/codemirror.css' );
|
140 |
wp_enqueue_style( 'jquery-ui-overcast', YIT_CORE_PLUGIN_URL . '/assets/css/overcast/jquery-ui-1.8.9.custom.css', false, '1.8.9', 'all' );
|
141 |
-
|
142 |
wp_enqueue_style( 'raleway-font', '//fonts.googleapis.com/css?family=Raleway:400,500,600,700,800,100,200,300,900' );
|
143 |
wp_enqueue_style( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/css/chosen/chosen.css' );
|
144 |
wp_enqueue_style( 'yit-jquery-ui-style', '//code.jquery.com/ui/' . $jquery_version . '/themes/smoothness/jquery-ui.css', array(), $jquery_version );
|
|
|
|
|
|
|
|
|
|
|
145 |
}
|
146 |
|
147 |
/**
|
92 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
93 |
*/
|
94 |
public function add_menu_page() {
|
95 |
+
global $admin_page_hooks;
|
96 |
+
|
97 |
+
if( ! isset( $admin_page_hooks['yit_plugin_panel'] ) ){
|
98 |
+
$position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
|
99 |
+
add_menu_page( 'yit_plugin_panel', __( 'YIT Plugins', 'yith-plugin-fw' ), 'manage_options', 'yit_plugin_panel', NULL, YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png', $position );
|
100 |
+
}
|
101 |
}
|
102 |
|
103 |
/**
|
125 |
*/
|
126 |
public function admin_enqueue_scripts() {
|
127 |
|
128 |
+
global $wp_scripts, $pagenow;
|
129 |
|
130 |
//scripts
|
131 |
+
wp_enqueue_media();
|
132 |
+
wp_enqueue_script( 'jquery-ui' );
|
133 |
+
wp_enqueue_script( 'jquery-ui-core' );
|
134 |
+
wp_enqueue_script( 'jquery-ui-slider' );
|
135 |
+
wp_enqueue_script( 'jquery-ui-dialog' );
|
136 |
+
wp_enqueue_script( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array( 'jquery' ), '1.1.0', true );
|
137 |
+
wp_register_script( 'yit-plugin-panel', YIT_CORE_PLUGIN_URL . '/assets/js/yit-plugin-panel.js', array( 'jquery', 'jquery-chosen' ), $this->version, true );
|
138 |
+
wp_register_script( 'codemirror', YIT_CORE_PLUGIN_URL . '/assets/js/codemirror/codemirror.js', array( 'jquery' ), $this->version, true );
|
139 |
+
wp_register_script( 'codemirror-javascript', YIT_CORE_PLUGIN_URL . '/assets/js/codemirror/javascript.js', array( 'jquery', 'codemirror' ), $this->version, true );
|
140 |
|
141 |
//styles
|
142 |
+
$jquery_version = isset( $wp_scripts->registered['jquery-ui-core']->ver ) ? $wp_scripts->registered['jquery-ui-core']->ver : '1.9.2';
|
143 |
wp_register_style( 'codemirror', YIT_CORE_PLUGIN_URL . '/assets/css/codemirror/codemirror.css' );
|
144 |
wp_enqueue_style( 'jquery-ui-overcast', YIT_CORE_PLUGIN_URL . '/assets/css/overcast/jquery-ui-1.8.9.custom.css', false, '1.8.9', 'all' );
|
145 |
+
wp_register_style( 'yit-plugin-style', YIT_CORE_PLUGIN_URL . '/assets/css/yit-plugin-panel.css', $this->version );
|
146 |
wp_enqueue_style( 'raleway-font', '//fonts.googleapis.com/css?family=Raleway:400,500,600,700,800,100,200,300,900' );
|
147 |
wp_enqueue_style( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/css/chosen/chosen.css' );
|
148 |
wp_enqueue_style( 'yit-jquery-ui-style', '//code.jquery.com/ui/' . $jquery_version . '/themes/smoothness/jquery-ui.css', array(), $jquery_version );
|
149 |
+
|
150 |
+
if( 'admin.php' == $pagenow && strpos('yit-plugins_page',get_current_screen()->id ) !== false ){
|
151 |
+
wp_enqueue_style( 'yit-plugin-style' );
|
152 |
+
wp_enqueue_script( 'yit-plugin-panel' );
|
153 |
+
}
|
154 |
}
|
155 |
|
156 |
/**
|
plugin-fw/lib/yit-plugin-subpanel.php
CHANGED
@@ -88,22 +88,25 @@ if ( ! class_exists( 'YIT_Plugin_SubPanel' ) ) {
|
|
88 |
* @since 1.0
|
89 |
* @author Emanuela Castorina <emanuela.castorina@yithemes.it>
|
90 |
*/
|
91 |
-
|
|
|
|
|
92 |
|
93 |
-
|
94 |
|
95 |
-
|
|
|
|
|
96 |
|
97 |
-
|
98 |
-
$logo = $admin_logo;
|
99 |
-
}
|
100 |
$position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
|
101 |
add_menu_page( 'yit_plugin_panel', __( 'YIT Plugins', 'yith-plugin-fw' ), 'nosuchcapability', 'yit_plugin_panel', NULL, $logo, $position );
|
|
|
102 |
|
103 |
-
|
104 |
-
|
105 |
|
106 |
-
|
107 |
|
108 |
/**
|
109 |
* Show a tabbed panel to setting page
|
88 |
* @since 1.0
|
89 |
* @author Emanuela Castorina <emanuela.castorina@yithemes.it>
|
90 |
*/
|
91 |
+
public function add_setting_page() {
|
92 |
+
global $admin_page_hooks;
|
93 |
+
$logo = YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png';
|
94 |
|
95 |
+
$admin_logo = function_exists( 'yit_get_option' ) ? yit_get_option( 'admin-logo-menu' ) : '';
|
96 |
|
97 |
+
if ( isset( $admin_logo ) && !empty( $admin_logo ) && $admin_logo != '' && $admin_logo ) {
|
98 |
+
$logo = $admin_logo;
|
99 |
+
}
|
100 |
|
101 |
+
if( ! isset( $admin_page_hooks['yit_plugin_panel'] ) ) {
|
|
|
|
|
102 |
$position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
|
103 |
add_menu_page( 'yit_plugin_panel', __( 'YIT Plugins', 'yith-plugin-fw' ), 'nosuchcapability', 'yit_plugin_panel', NULL, $logo, $position );
|
104 |
+
}
|
105 |
|
106 |
+
add_submenu_page( 'yit_plugin_panel', $this->settings['label'], $this->settings['label'], 'manage_options', $this->settings['page'], array( $this, 'yit_panel' ) );
|
107 |
+
remove_submenu_page( 'yit_plugin_panel', 'yit_plugin_panel' );
|
108 |
|
109 |
+
}
|
110 |
|
111 |
/**
|
112 |
* Show a tabbed panel to setting page
|
plugin-fw/lib/yit-upgrade.php
CHANGED
@@ -60,8 +60,10 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
|
|
60 |
add_action( 'admin_enqueue_scripts', array( $this, 'network_admin_enqueue_scripts' ) );
|
61 |
}
|
62 |
|
63 |
-
|
64 |
-
|
|
|
|
|
65 |
}
|
66 |
}
|
67 |
|
@@ -129,7 +131,7 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
|
|
129 |
);
|
130 |
|
131 |
foreach( $this->_plugins as $init => $info ){
|
132 |
-
YIT_Plugin_Licence()->check( $init );
|
133 |
|
134 |
$update_url[ $init ] = wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin-multisite&plugin=') . $init, 'upgrade-plugin-multisite_' . $init );
|
135 |
$changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
|
@@ -157,24 +159,6 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
|
|
157 |
yit_enqueue_style( 'yit-upgrader', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrader.css' );
|
158 |
}
|
159 |
|
160 |
-
/**
|
161 |
-
* Call the protected method _upgrader_pre_download to retrive the zip package file
|
162 |
-
*
|
163 |
-
* @param bool $reply Whether to bail without returning the package. Default false.
|
164 |
-
* @param string $package The package file name.
|
165 |
-
* @param \WP_Upgrader $upgrader WP_Upgrader instance.
|
166 |
-
*
|
167 |
-
* @return string | The download file
|
168 |
-
*
|
169 |
-
* @since 1.0
|
170 |
-
* @see wp-admin/includes/class-wp-upgrader.php
|
171 |
-
* @access public
|
172 |
-
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
173 |
-
*/
|
174 |
-
public function upgrader_pre_download( $reply, $package, $upgrader ){
|
175 |
-
return $this->_upgrader_pre_download( $reply, $package, $upgrader );
|
176 |
-
}
|
177 |
-
|
178 |
/**
|
179 |
* Retrive the zip package file
|
180 |
*
|
@@ -186,10 +170,10 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
|
|
186 |
*
|
187 |
* @since 1.0
|
188 |
* @see wp-admin/includes/class-wp-upgrader.php
|
189 |
-
* @access
|
190 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
191 |
*/
|
192 |
-
|
193 |
$plugin = false;
|
194 |
$is_bulk = $upgrader->skin instanceof Bulk_Plugin_Upgrader_Skin;
|
195 |
|
@@ -247,7 +231,7 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
|
|
247 |
return new WP_Error( 'no_package', $upgrader->strings['no_package'] );
|
248 |
}
|
249 |
|
250 |
-
$upgrader->skin->feedback( 'downloading_package', __( '
|
251 |
|
252 |
$download_file = $this->_download_url( $package, $args );
|
253 |
|
@@ -440,7 +424,7 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
|
|
440 |
}elseif( is_plugin_active_for_network( $init ) ){
|
441 |
printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" title="%3$s">View version %4$s details</a>. <em>You have to activate the plugin on a single site of the network to benefit from automatic updates.</em>', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version );
|
442 |
}elseif ( empty( $r->package ) ) {
|
443 |
-
printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin, please <a href="%5$s" title="
|
444 |
} else {
|
445 |
printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" title="%3$s">View version %4$s details</a> or <a href="%5$s">update now</a>.', 'yith-plugin-fw'), $this->_plugins[ $init ]['info']['Name'], esc_url($details_url), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin&plugin=') . $init, 'upgrade-plugin_' . $init ) );
|
446 |
}
|
60 |
add_action( 'admin_enqueue_scripts', array( $this, 'network_admin_enqueue_scripts' ) );
|
61 |
}
|
62 |
|
63 |
+
$is_debug_enabled = defined( 'YIT_LICENCE_DEBUG' ) && YIT_LICENCE_DEBUG;
|
64 |
+
if ( $is_debug_enabled ) {
|
65 |
+
$this->_package_url = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
|
66 |
+
add_filter( 'block_local_requests', '__return_false' );
|
67 |
}
|
68 |
}
|
69 |
|
131 |
);
|
132 |
|
133 |
foreach( $this->_plugins as $init => $info ){
|
134 |
+
YIT_Plugin_Licence()->check( $init, false );
|
135 |
|
136 |
$update_url[ $init ] = wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin-multisite&plugin=') . $init, 'upgrade-plugin-multisite_' . $init );
|
137 |
$changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
|
159 |
yit_enqueue_style( 'yit-upgrader', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrader.css' );
|
160 |
}
|
161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
/**
|
163 |
* Retrive the zip package file
|
164 |
*
|
170 |
*
|
171 |
* @since 1.0
|
172 |
* @see wp-admin/includes/class-wp-upgrader.php
|
173 |
+
* @access public
|
174 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
175 |
*/
|
176 |
+
public function upgrader_pre_download( $reply, $package, $upgrader ) {
|
177 |
$plugin = false;
|
178 |
$is_bulk = $upgrader->skin instanceof Bulk_Plugin_Upgrader_Skin;
|
179 |
|
231 |
return new WP_Error( 'no_package', $upgrader->strings['no_package'] );
|
232 |
}
|
233 |
|
234 |
+
$upgrader->skin->feedback( 'downloading_package', __( 'YIThemes Repository', 'yith-plugin-fw' ) );
|
235 |
|
236 |
$download_file = $this->_download_url( $package, $args );
|
237 |
|
424 |
}elseif( is_plugin_active_for_network( $init ) ){
|
425 |
printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" title="%3$s">View version %4$s details</a>. <em>You have to activate the plugin on a single site of the network to benefit from automatic updates.</em>', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version );
|
426 |
}elseif ( empty( $r->package ) ) {
|
427 |
+
printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin, please <a href="%5$s" title="License activation">activate</a> your copy of %6s.</em>', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, YIT_Plugin_Licence()->get_licence_activation_page_url(), $this->_plugins[ $init ]['info']['Name'] );
|
428 |
} else {
|
429 |
printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button" title="%3$s">View version %4$s details</a> or <a href="%5$s">update now</a>.', 'yith-plugin-fw'), $this->_plugins[ $init ]['info']['Name'], esc_url($details_url), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin&plugin=') . $init, 'upgrade-plugin_' . $init ) );
|
430 |
}
|
plugin-fw/licence/assets/css/yit-licence.css
CHANGED
@@ -23,6 +23,7 @@
|
|
23 |
|
24 |
.yit-container.product-licence-activation .to-active-wrapper {
|
25 |
margin-bottom: 60px;
|
|
|
26 |
}
|
27 |
|
28 |
.yit-container.product-licence-activation .to-active-wrapper form.to-active-form {
|
@@ -121,17 +122,13 @@
|
|
121 |
vertical-align: top;
|
122 |
}
|
123 |
|
124 |
-
.yit-container.product-licence-activation .spinner
|
125 |
-
|
126 |
-
vertical-align: middle;
|
127 |
float: none;
|
128 |
}
|
129 |
|
130 |
-
.yit-container.product-licence-activation
|
131 |
-
|
132 |
-
float: none;
|
133 |
-
top: -3px;
|
134 |
-
position: relative;
|
135 |
}
|
136 |
|
137 |
.yit-container.product-licence-activation .licence-check-section{
|
@@ -176,18 +173,24 @@
|
|
176 |
padding: 12px 19px;
|
177 |
}
|
178 |
|
|
|
179 |
.yit-container.product-licence-activation .button-licence.licence-renew {
|
180 |
text-decoration: none;
|
181 |
padding: 7px 12px;
|
182 |
font-size: 9px;
|
183 |
}
|
184 |
|
|
|
|
|
|
|
|
|
|
|
185 |
.yit-container.product-licence-activation .button-licence.licence-renew:focus {
|
186 |
box-shadow: none;
|
187 |
}
|
188 |
|
189 |
.yit-container.product-licence-activation table:not(.to-active-table) {
|
190 |
-
width:
|
191 |
border: 1px solid #dcdcdc;
|
192 |
border-spacing: 0;
|
193 |
border-radius: 5px;
|
@@ -197,12 +200,18 @@
|
|
197 |
|
198 |
.yit-container.product-licence-activation table:not(.to-active-table) th {
|
199 |
border-bottom: 1px solid #dcdcdc;
|
|
|
|
|
|
|
|
|
|
|
200 |
}
|
201 |
|
202 |
.yit-container.product-licence-activation table:not(.to-active-table) td,
|
203 |
.yit-container.product-licence-activation table:not(.to-active-table) th {
|
204 |
border-right: 1px solid #dcdcdc;
|
205 |
}
|
|
|
206 |
.yit-container.product-licence-activation table td:last-child,
|
207 |
.yit-container.product-licence-activation table th:last-child {
|
208 |
border-right: 0;
|
@@ -216,8 +225,12 @@
|
|
216 |
background-color: #ffffff;
|
217 |
}
|
218 |
|
|
|
|
|
|
|
|
|
219 |
.yit-container.product-licence-activation table thead tr th {
|
220 |
-
font-size:
|
221 |
color: #313131;
|
222 |
text-transform: uppercase;
|
223 |
font-weight: bold;
|
@@ -228,6 +241,14 @@
|
|
228 |
line-height: 60px;
|
229 |
}
|
230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
.yit-container.product-licence-activation table tbody tr td{
|
232 |
text-align: center;
|
233 |
line-height: 20px;
|
@@ -260,15 +281,17 @@
|
|
260 |
width: 33%;
|
261 |
}
|
262 |
|
263 |
-
|
264 |
-
.yit-container.product-licence-activation .to-active-table td.product-name {
|
265 |
color: #808a97;
|
266 |
font-size: 12px;
|
267 |
text-transform: uppercase;
|
268 |
font-weight: bold;
|
269 |
line-height: 20px;
|
|
|
|
|
|
|
|
|
270 |
width: 20%;
|
271 |
-
padding-left: 20px;
|
272 |
}
|
273 |
|
274 |
.yit-container.product-licence-activation .to-active-table td.activate-button {
|
@@ -302,15 +325,12 @@
|
|
302 |
box-shadow: 0 0 1px rgba(30,140,190,.8);
|
303 |
}
|
304 |
|
305 |
-
.yit-container.product-licence-activation input[type=text]
|
|
|
306 |
text-transform: uppercase;
|
307 |
text-align: center;
|
308 |
}
|
309 |
|
310 |
-
.yit-container.product-licence-activation input[type=email] {
|
311 |
-
text-align: left;
|
312 |
-
}
|
313 |
-
|
314 |
.yit-container.product-licence-activation input[type=submit]:focus{
|
315 |
outline: 0;
|
316 |
}
|
@@ -328,19 +348,88 @@
|
|
328 |
color: #808a97;
|
329 |
}
|
330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
331 |
/* === Responsive === */
|
332 |
|
333 |
-
@media (max-width: 767px) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
|
335 |
-
|
|
|
|
|
336 |
|
337 |
-
|
|
|
|
|
338 |
|
339 |
-
|
|
|
|
|
|
|
340 |
|
341 |
@media (min-width: 1200px) {
|
342 |
.yit-container.product-licence-activation{
|
343 |
-
width:
|
|
|
|
|
|
|
|
|
344 |
}
|
345 |
}
|
346 |
|
23 |
|
24 |
.yit-container.product-licence-activation .to-active-wrapper {
|
25 |
margin-bottom: 60px;
|
26 |
+
max-width: 900px;
|
27 |
}
|
28 |
|
29 |
.yit-container.product-licence-activation .to-active-wrapper form.to-active-form {
|
122 |
vertical-align: top;
|
123 |
}
|
124 |
|
125 |
+
.yit-container.product-licence-activation .spinner{
|
126 |
+
vertical-align: -5px;
|
|
|
127 |
float: none;
|
128 |
}
|
129 |
|
130 |
+
.yit-container.product-licence-activation .spinner.show{
|
131 |
+
visibility: visible;
|
|
|
|
|
|
|
132 |
}
|
133 |
|
134 |
.yit-container.product-licence-activation .licence-check-section{
|
173 |
padding: 12px 19px;
|
174 |
}
|
175 |
|
176 |
+
.yit-container.product-licence-activation .button-licence.licence-deactive,
|
177 |
.yit-container.product-licence-activation .button-licence.licence-renew {
|
178 |
text-decoration: none;
|
179 |
padding: 7px 12px;
|
180 |
font-size: 9px;
|
181 |
}
|
182 |
|
183 |
+
.yit-container.product-licence-activation table:not(.expired-table) .button-licence.licence-renew {
|
184 |
+
margin-left: 10px;
|
185 |
+
}
|
186 |
+
|
187 |
+
.yit-container.product-licence-activation .button-licence.licence-deactive:focus,
|
188 |
.yit-container.product-licence-activation .button-licence.licence-renew:focus {
|
189 |
box-shadow: none;
|
190 |
}
|
191 |
|
192 |
.yit-container.product-licence-activation table:not(.to-active-table) {
|
193 |
+
width: auto;
|
194 |
border: 1px solid #dcdcdc;
|
195 |
border-spacing: 0;
|
196 |
border-radius: 5px;
|
200 |
|
201 |
.yit-container.product-licence-activation table:not(.to-active-table) th {
|
202 |
border-bottom: 1px solid #dcdcdc;
|
203 |
+
padding: 0 10px;
|
204 |
+
}
|
205 |
+
|
206 |
+
.yit-container.product-licence-activation table tbody tr td.product-licence-key {
|
207 |
+
text-transform: lowercase;
|
208 |
}
|
209 |
|
210 |
.yit-container.product-licence-activation table:not(.to-active-table) td,
|
211 |
.yit-container.product-licence-activation table:not(.to-active-table) th {
|
212 |
border-right: 1px solid #dcdcdc;
|
213 |
}
|
214 |
+
|
215 |
.yit-container.product-licence-activation table td:last-child,
|
216 |
.yit-container.product-licence-activation table th:last-child {
|
217 |
border-right: 0;
|
225 |
background-color: #ffffff;
|
226 |
}
|
227 |
|
228 |
+
.yit-container.product-licence-activation table tbody tr:nth-child(2n) {
|
229 |
+
background-color: #f4f4f4;
|
230 |
+
}
|
231 |
+
|
232 |
.yit-container.product-licence-activation table thead tr th {
|
233 |
+
font-size: 11px;
|
234 |
color: #313131;
|
235 |
text-transform: uppercase;
|
236 |
font-weight: bold;
|
241 |
line-height: 60px;
|
242 |
}
|
243 |
|
244 |
+
.yit-container.product-licence-activation table tbody tr td.product-licence-membership .dashicons-no-alt {
|
245 |
+
color: #b20015;
|
246 |
+
}
|
247 |
+
|
248 |
+
.yit-container.product-licence-activation table tbody tr td.product-licence-membership .dashicons-yes {
|
249 |
+
color: #1ca800;
|
250 |
+
}
|
251 |
+
|
252 |
.yit-container.product-licence-activation table tbody tr td{
|
253 |
text-align: center;
|
254 |
line-height: 20px;
|
281 |
width: 33%;
|
282 |
}
|
283 |
|
284 |
+
.yit-container.product-licence-activation td.product-name {
|
|
|
285 |
color: #808a97;
|
286 |
font-size: 12px;
|
287 |
text-transform: uppercase;
|
288 |
font-weight: bold;
|
289 |
line-height: 20px;
|
290 |
+
padding: 10px 20px;
|
291 |
+
}
|
292 |
+
|
293 |
+
.yit-container.product-licence-activation .to-active-table td.product-name {
|
294 |
width: 20%;
|
|
|
295 |
}
|
296 |
|
297 |
.yit-container.product-licence-activation .to-active-table td.activate-button {
|
325 |
box-shadow: 0 0 1px rgba(30,140,190,.8);
|
326 |
}
|
327 |
|
328 |
+
.yit-container.product-licence-activation input[type=text],
|
329 |
+
.yit-container.product-licence-activation input[type=email]{
|
330 |
text-transform: uppercase;
|
331 |
text-align: center;
|
332 |
}
|
333 |
|
|
|
|
|
|
|
|
|
334 |
.yit-container.product-licence-activation input[type=submit]:focus{
|
335 |
outline: 0;
|
336 |
}
|
348 |
color: #808a97;
|
349 |
}
|
350 |
|
351 |
+
#yith-licence-notice {
|
352 |
+
margin-left: 0;
|
353 |
+
visibility: hidden;
|
354 |
+
min-height: 38px;
|
355 |
+
}
|
356 |
+
|
357 |
+
#yith-licence-notice.visible {
|
358 |
+
visibility: visible;
|
359 |
+
}
|
360 |
+
|
361 |
/* === Responsive === */
|
362 |
|
363 |
+
@media (max-width: 767px) {
|
364 |
+
.yit-container.product-licence-activation .activation-faq {
|
365 |
+
margin-right: 5px;
|
366 |
+
}
|
367 |
+
}
|
368 |
+
|
369 |
+
@media (max-width: 480px) {
|
370 |
+
.yit-container.product-licence-activation .activation-faq {
|
371 |
+
margin-right: 5px;
|
372 |
+
}
|
373 |
+
}
|
374 |
+
|
375 |
+
@media (min-width: 768px) and (max-width: 992px) {
|
376 |
+
.yit-container.product-licence-activation .button-licence.licence-deactive,
|
377 |
+
.yit-container.product-licence-activation .button-licence.licence-renew {
|
378 |
+
margin-bottom: 10px;
|
379 |
+
display: block;
|
380 |
+
margin-left: 0;
|
381 |
+
padding: 5px 7px;
|
382 |
+
}
|
383 |
+
|
384 |
+
.yit-container.product-licence-activation .button-licence.licence-deactive {
|
385 |
+
margin-bottom: 10px;
|
386 |
+
}
|
387 |
+
|
388 |
+
.yit-container.product-licence-activation table:not(.to-active-table) th {
|
389 |
+
line-height: 20px;
|
390 |
+
}
|
391 |
+
|
392 |
+
.yit-container.product-licence-activation table tbody tr td {
|
393 |
+
padding: 5px;
|
394 |
+
}
|
395 |
+
|
396 |
+
.yit-container.product-licence-activation .activation-faq {
|
397 |
+
margin-right: 20px;
|
398 |
+
}
|
399 |
+
}
|
400 |
+
|
401 |
+
@media (min-width: 980px) and (max-width: 1199px) {
|
402 |
+
.yit-container.product-licence-activation .button-licence.licence-deactive,
|
403 |
+
.yit-container.product-licence-activation .button-licence.licence-renew {
|
404 |
+
display: block;
|
405 |
+
margin-left: 0;
|
406 |
+
padding: 5px 7px;
|
407 |
+
}
|
408 |
+
|
409 |
+
.yit-container.product-licence-activation .button-licence.licence-renew {
|
410 |
+
margin-top: 10px;
|
411 |
+
}
|
412 |
|
413 |
+
.yit-container.product-licence-activation table:not(.to-active-table) th {
|
414 |
+
line-height: 20px;
|
415 |
+
}
|
416 |
|
417 |
+
.yit-container.product-licence-activation table tbody tr td {
|
418 |
+
padding: 5px;
|
419 |
+
}
|
420 |
|
421 |
+
.yit-container.product-licence-activation .activation-faq {
|
422 |
+
width: 75%;
|
423 |
+
}
|
424 |
+
}
|
425 |
|
426 |
@media (min-width: 1200px) {
|
427 |
.yit-container.product-licence-activation{
|
428 |
+
width: auto;
|
429 |
+
}
|
430 |
+
|
431 |
+
.yit-container.product-licence-activation .activation-faq {
|
432 |
+
width: 50%;
|
433 |
}
|
434 |
}
|
435 |
|
plugin-fw/licence/assets/js/yit-licence.js
CHANGED
@@ -16,20 +16,21 @@
|
|
16 |
button.on('click', function (e, button) {
|
17 |
e.preventDefault();
|
18 |
|
19 |
-
var t
|
20 |
-
form_id
|
21 |
-
form
|
22 |
-
data
|
23 |
-
message
|
24 |
-
message_wrapper
|
25 |
-
email
|
26 |
-
licence_key
|
27 |
-
email_val
|
28 |
-
licence_key_val
|
29 |
-
error
|
30 |
-
error_fields
|
31 |
-
product_row
|
32 |
-
|
|
|
33 |
|
34 |
/* Init Input Fields */
|
35 |
message.empty();
|
@@ -38,17 +39,17 @@
|
|
38 |
licence_key.removeClass('require');
|
39 |
product_row.removeClass('error');
|
40 |
spinner.addClass('show');
|
41 |
-
t.prop("disabled", true).addClass('clicked');
|
42 |
|
43 |
if ('' == email_val) {
|
44 |
error = true;
|
45 |
-
error_fields[ error_fields.length ] =
|
46 |
email.addClass('require');
|
47 |
}
|
48 |
|
49 |
if ('' == licence_key_val) {
|
50 |
error = true;
|
51 |
-
error_fields[ error_fields.length ] =
|
52 |
licence_key.addClass('require');
|
53 |
}
|
54 |
|
@@ -60,7 +61,7 @@
|
|
60 |
success: function (response) {
|
61 |
|
62 |
spinner.removeClass('show');
|
63 |
-
t.prop("disabled", false).removeClass('clicked');
|
64 |
|
65 |
if (true == response.activated) {
|
66 |
$('.product-licence-activation').empty().replaceWith(response.template);
|
@@ -93,10 +94,10 @@
|
|
93 |
}
|
94 |
|
95 |
spinner.removeClass('show');
|
96 |
-
t.prop("disabled", false).removeClass('clicked');
|
97 |
}
|
98 |
});
|
99 |
-
}
|
100 |
|
101 |
var licence_update = function (button) {
|
102 |
button.on('click', function (e) {
|
@@ -119,21 +120,77 @@
|
|
119 |
}
|
120 |
});
|
121 |
});
|
122 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
var licence_api = function () {
|
125 |
-
var button
|
126 |
-
check
|
|
|
127 |
|
128 |
licence_activation(button);
|
129 |
licence_update(check);
|
130 |
-
|
|
|
131 |
|
132 |
licence_api();
|
133 |
|
134 |
$('body').on('click', '.yit-changelog-button', function (e) {
|
135 |
$('#TB_window').remove();
|
136 |
-
|
137 |
});
|
138 |
|
139 |
})(jQuery);
|
16 |
button.on('click', function (e, button) {
|
17 |
e.preventDefault();
|
18 |
|
19 |
+
var t = $(this),
|
20 |
+
form_id = t.data('formid'),
|
21 |
+
form = $('#' + form_id),
|
22 |
+
data = form.serialize(),
|
23 |
+
message = $(form).find('.message'),
|
24 |
+
message_wrapper = $(form).find('.message-wrapper'),
|
25 |
+
email = form.find('.user-email'),
|
26 |
+
licence_key = form.find('.licence-key'),
|
27 |
+
email_val = form.find('.user-email').val(),
|
28 |
+
licence_key_val = form.find('.licence-key').val(),
|
29 |
+
error = false,
|
30 |
+
error_fields = new Array(),
|
31 |
+
product_row = form.find('.product-row'),
|
32 |
+
licence_activation = $('.licence-activation'),
|
33 |
+
spinner = $('#products-to-active').find('.spinner');
|
34 |
|
35 |
/* Init Input Fields */
|
36 |
message.empty();
|
39 |
licence_key.removeClass('require');
|
40 |
product_row.removeClass('error');
|
41 |
spinner.addClass('show');
|
42 |
+
t.add(licence_activation).prop("disabled", true).addClass('clicked');
|
43 |
|
44 |
if ('' == email_val) {
|
45 |
error = true;
|
46 |
+
error_fields[ error_fields.length ] = licence_message.email;
|
47 |
email.addClass('require');
|
48 |
}
|
49 |
|
50 |
if ('' == licence_key_val) {
|
51 |
error = true;
|
52 |
+
error_fields[ error_fields.length ] = licence_message.license_key;
|
53 |
licence_key.addClass('require');
|
54 |
}
|
55 |
|
61 |
success: function (response) {
|
62 |
|
63 |
spinner.removeClass('show');
|
64 |
+
t.add(licence_activation).prop("disabled", false).removeClass('clicked');
|
65 |
|
66 |
if (true == response.activated) {
|
67 |
$('.product-licence-activation').empty().replaceWith(response.template);
|
94 |
}
|
95 |
|
96 |
spinner.removeClass('show');
|
97 |
+
t.add(licence_activation).prop("disabled", false).removeClass('clicked');
|
98 |
}
|
99 |
});
|
100 |
+
};
|
101 |
|
102 |
var licence_update = function (button) {
|
103 |
button.on('click', function (e) {
|
120 |
}
|
121 |
});
|
122 |
});
|
123 |
+
};
|
124 |
+
|
125 |
+
var licence_deactivate = function (button) {
|
126 |
+
button.on('click', function (e) {
|
127 |
+
e.preventDefault();
|
128 |
+
|
129 |
+
var check = script_info.is_debug == true ? true : confirm( licence_message.are_you_sure );
|
130 |
+
|
131 |
+
if( check == true ){
|
132 |
+
var t = $(this),
|
133 |
+
licence_key = t.data('licence-key'),
|
134 |
+
licence_email = t.data('licence-email'),
|
135 |
+
product_init = t.data('product-init'),
|
136 |
+
action = t.data('action'),
|
137 |
+
renew = $('.licence-renew'),
|
138 |
+
deactive = $('.licence-deactive'),
|
139 |
+
message = $('#yith-licence-notice'),
|
140 |
+
activated_table = $('.activated-table');
|
141 |
+
|
142 |
+
t.add(renew).add(deactive).prop("disabled", true).addClass('clicked');
|
143 |
+
$('#activated-products').find('.spinner').addClass('show');
|
144 |
+
|
145 |
+
jQuery.ajax({
|
146 |
+
type : 'POST',
|
147 |
+
url : ajaxurl,
|
148 |
+
data : {
|
149 |
+
action: action,
|
150 |
+
licence_key: licence_key,
|
151 |
+
email: licence_email,
|
152 |
+
product_init: product_init
|
153 |
+
},
|
154 |
+
success: function (response) {
|
155 |
+
message.css( 'maxWidth', activated_table.width() );
|
156 |
+
if (false == response.activated && typeof response.error == 'undefined') {
|
157 |
+
$('.product-licence-activation').empty().replaceWith(response.template);
|
158 |
+
licence_api();
|
159 |
+
}
|
160 |
+
|
161 |
+
if (false == response.activated && typeof response.error != 'undefined') {
|
162 |
+
message.find('p.yith-licence-notice-message').html(response.error);
|
163 |
+
message.removeClass('notice-success').addClass('notice-error visible');
|
164 |
+
t.add(renew).add(deactive).add(renew).prop("disabled", false).removeClass('clicked');
|
165 |
+
$('#activated-products').find('.spinner').removeClass('show');
|
166 |
+
}
|
167 |
+
|
168 |
+
else if (false == response) {
|
169 |
+
message.find('p.yith-licence-notice-message').html(licence_message.server);
|
170 |
+
message.removeClass('notice-success').addClass('notice-error visible');
|
171 |
+
t.add(renew).add(deactive).add(renew).prop("disabled", false).removeClass('clicked');
|
172 |
+
$('#activated-products').find('.spinner').removeClass('show');
|
173 |
+
}
|
174 |
+
}
|
175 |
+
});
|
176 |
+
}
|
177 |
+
});
|
178 |
+
};
|
179 |
|
180 |
var licence_api = function () {
|
181 |
+
var button = $('.licence-activation'),
|
182 |
+
check = $('.licence-check'),
|
183 |
+
deactivated = $('.licence-deactive');
|
184 |
|
185 |
licence_activation(button);
|
186 |
licence_update(check);
|
187 |
+
licence_deactivate(deactivated);
|
188 |
+
};
|
189 |
|
190 |
licence_api();
|
191 |
|
192 |
$('body').on('click', '.yit-changelog-button', function (e) {
|
193 |
$('#TB_window').remove();
|
|
|
194 |
});
|
195 |
|
196 |
})(jQuery);
|
plugin-fw/licence/assets/js/yit-licence.min.js
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
-
(function(b){var
|
2 |
-
|
3 |
-
|
4 |
-
k()}})})},
|
|
|
|
|
|
1 |
+
(function(b){var k=function(a){a.on("click",function(v,e){v.preventDefault();var a=b(this),c=a.data("formid"),d=b("#"+c),f=d.serialize(),h=b(d).find(".message"),g=b(d).find(".message-wrapper"),m=d.find(".user-email"),u=d.find(".licence-key"),k=d.find(".user-email").val(),t=d.find(".licence-key").val(),n=!1,c=[],p=d.find(".product-row"),q=b(".licence-activation"),r=b("#products-to-active").find(".spinner");h.empty();g.removeClass("visible");m.removeClass("require");u.removeClass("require");p.removeClass("error");
|
2 |
+
r.addClass("show");a.add(q).prop("disabled",!0).addClass("clicked");""==k&&(n=!0,c[c.length]=licence_message.email,m.addClass("require"));""==t&&(n=!0,c[c.length]=licence_message.license_key,u.addClass("require"));if(0==n)jQuery.ajax({type:"POST",url:ajaxurl,data:f,success:function(c){r.removeClass("show");a.add(q).prop("disabled",!1).removeClass("clicked");1==c.activated?(b(".product-licence-activation").empty().replaceWith(c.template),l()):(0!=c?h.text(c.error):h.text(licence_message.server),g.addClass("visible"),
|
3 |
+
p.addClass("error"))}});else{if(1==c.length)h.text(licence_message.error.replace("%field%",c[0]));else{d=licence_message.errors;for(f=0;f<c.length;f++)d=d.replace("%field_"+(f+1)+"%",c[f]),g.addClass("visible");h.text(d)}g.addClass("visible");p.addClass("error");r.removeClass("show");a.add(q).prop("disabled",!1).removeClass("clicked")}})},t=function(a){a.on("click",function(a){a.preventDefault();a=b(this);var e=b("#licence-check-update"),k=e.serialize();a.prop("disabled",!0).addClass("clicked");e.find("div.spinner").addClass("show");
|
4 |
+
jQuery.ajax({type:"POST",url:ajaxurl,data:k,success:function(c){b(".product-licence-activation").empty().replaceWith(c.template);l()}})})},w=function(a){a.on("click",function(a){a.preventDefault();if(1==(1==script_info.is_debug?!0:confirm(licence_message.are_you_sure))){var e=b(this);a=e.data("licence-key");var k=e.data("licence-email"),c=e.data("product-init"),d=e.data("action"),f=b(".licence-renew"),h=b(".licence-deactive"),g=b("#yith-licence-notice"),m=b(".activated-table");e.add(f).add(h).prop("disabled",
|
5 |
+
!0).addClass("clicked");b("#activated-products").find(".spinner").addClass("show");jQuery.ajax({type:"POST",url:ajaxurl,data:{action:d,licence_key:a,email:k,product_init:c},success:function(a){g.css("maxWidth",m.width());0==a.activated&&"undefined"==typeof a.error&&(b(".product-licence-activation").empty().replaceWith(a.template),l());0==a.activated&&"undefined"!=typeof a.error?(g.find("p.yith-licence-notice-message").html(a.error),g.removeClass("notice-success").addClass("notice-error visible"),
|
6 |
+
e.add(f).add(h).add(f).prop("disabled",!1).removeClass("clicked"),b("#activated-products").find(".spinner").removeClass("show")):0==a&&(g.find("p.yith-licence-notice-message").html(licence_message.server),g.removeClass("notice-success").addClass("notice-error visible"),e.add(f).add(h).add(f).prop("disabled",!1).removeClass("clicked"),b("#activated-products").find(".spinner").removeClass("show"))}})}})},l=function(){var a=b(".licence-activation"),l=b(".licence-check"),e=b(".licence-deactive");k(a);
|
7 |
+
t(l);w(e)};l();b("body").on("click",".yit-changelog-button",function(a){b("#TB_window").remove()})})(jQuery);
|
plugin-fw/licence/lib/yit-licence.php
CHANGED
@@ -56,17 +56,48 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
56 |
*/
|
57 |
protected $_api_uri_query_args = '?wc-api=software-api&request=%request%';
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
/**
|
60 |
* Constructor
|
61 |
*
|
62 |
* @since 1.0
|
63 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
64 |
*/
|
65 |
-
public function __construct(){
|
66 |
-
|
67 |
-
if
|
68 |
-
$this->_api_uri = 'http://dev.yithemes.com';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
|
|
|
|
|
|
|
|
|
|
70 |
}
|
71 |
|
72 |
/**
|
@@ -114,7 +145,6 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
114 |
return $home_url;
|
115 |
}
|
116 |
|
117 |
-
|
118 |
/**
|
119 |
* Check if the request is ajax
|
120 |
*
|
@@ -146,21 +176,20 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
146 |
|
147 |
wp_enqueue_script( 'yit-licence', $script_path . '/licence/assets/js/' . $filename, array( 'jquery' ), '1.0.0', true );
|
148 |
wp_enqueue_style( 'yit-theme-licence', $style_path . '/licence/assets/css/yit-licence.css' );
|
149 |
-
}
|
150 |
|
151 |
-
|
152 |
-
* Localize Scripts
|
153 |
-
*
|
154 |
-
* @return void
|
155 |
-
*
|
156 |
-
* @since 1.0
|
157 |
-
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
158 |
-
*/
|
159 |
-
public function localize_script() {
|
160 |
wp_localize_script( 'yit-licence', 'licence_message', array(
|
161 |
-
'error'
|
162 |
-
'errors'
|
163 |
-
'server'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
)
|
165 |
);
|
166 |
}
|
@@ -177,7 +206,6 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
177 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
178 |
*/
|
179 |
public function activate() {
|
180 |
-
|
181 |
$product_init = $_REQUEST['product_init'];
|
182 |
$product = $this->get_product( $product_init );
|
183 |
|
@@ -190,7 +218,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
190 |
);
|
191 |
|
192 |
$api_uri = esc_url_raw( add_query_arg( $args, $this->get_api_uri( 'activation' ) ) );
|
193 |
-
$response = wp_remote_get( $api_uri );
|
194 |
|
195 |
if ( is_wp_error( $response ) ) {
|
196 |
$body = false;
|
@@ -203,13 +231,14 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
203 |
if ( $body && is_array( $body ) && isset( $body['activated'] ) && $body['activated'] ) {
|
204 |
|
205 |
$option[$product['product_id']] = array(
|
206 |
-
'email'
|
207 |
-
'licence_key'
|
208 |
-
'licence_expires'
|
209 |
-
'message'
|
210 |
-
'activated'
|
211 |
-
'activation_limit'
|
212 |
-
'activation_remaining'
|
|
|
213 |
);
|
214 |
|
215 |
/* === Check for other plugins activation === */
|
@@ -222,7 +251,74 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
222 |
YIT_Upgrade()->force_regenerate_update_transient();
|
223 |
|
224 |
/* === Licence Activation Template === */
|
225 |
-
$body['template'] = $this->show_activation_panel();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
}
|
227 |
|
228 |
wp_send_json( $body );
|
@@ -240,7 +336,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
240 |
* @since 1.0
|
241 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
242 |
*/
|
243 |
-
public function check( $product_init ) {
|
244 |
|
245 |
$status = false;
|
246 |
$body = false;
|
@@ -261,7 +357,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
261 |
);
|
262 |
|
263 |
$api_uri = esc_url_raw( add_query_arg( $args, $this->get_api_uri( 'check' ) ) );
|
264 |
-
$response = wp_remote_get( $api_uri );
|
265 |
|
266 |
if ( ! is_wp_error( $response ) ) {
|
267 |
$body = json_decode( $response['body'] );
|
@@ -279,6 +375,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
279 |
$licence[ $product_id ]['licence_expires'] = $body['licence_expires'];
|
280 |
$licence[ $product_id ]['activation_remaining'] = $body['activation_remaining'];
|
281 |
$licence[ $product_id ]['activation_limit'] = $body['activation_limit'];
|
|
|
282 |
$status = (bool) $body['activated'];
|
283 |
}
|
284 |
elseif ( isset( $body['code'] ) ) {
|
@@ -297,7 +394,8 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
297 |
* 106 -> Licence key has expired
|
298 |
* 107 -> Licence key has be banned
|
299 |
*
|
300 |
-
* Only code 101, 106 and 107 have effect on DB
|
|
|
301 |
*
|
302 |
*/
|
303 |
|
@@ -308,15 +406,17 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
308 |
|
309 |
case '106':
|
310 |
$licence[ $product_id ]['activated'] = false;
|
311 |
-
$licence[ $product_id ]['message'] = $body['
|
312 |
$licence[ $product_id ]['status_code'] = $body['code'];
|
313 |
$licence[ $product_id ]['licence_expires'] = $body['licence_expires'];
|
|
|
314 |
break;
|
315 |
|
316 |
case '107':
|
317 |
-
$licence[ $product_id ]['activated']
|
318 |
-
$licence[ $product_id ]['message']
|
319 |
-
$licence[ $product_id ]['status_code']
|
|
|
320 |
break;
|
321 |
}
|
322 |
}
|
@@ -325,11 +425,28 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
325 |
update_option( $this->_licence_option, $licence );
|
326 |
|
327 |
/* === Update Plugin Licence Information === */
|
328 |
-
|
|
|
|
|
329 |
}
|
330 |
return $status;
|
331 |
}
|
332 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
/**
|
334 |
* Update Plugins Information
|
335 |
*
|
@@ -342,17 +459,18 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
342 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
343 |
*/
|
344 |
public function update_licence_information() {
|
345 |
-
|
346 |
-
|
347 |
-
}
|
348 |
|
349 |
/* === Regenerate Update Plugins Transient === */
|
350 |
YIT_Upgrade()->force_regenerate_update_transient();
|
351 |
|
352 |
do_action( 'yit_licence_after_check' );
|
353 |
|
354 |
-
|
355 |
-
|
|
|
|
|
356 |
}
|
357 |
|
358 |
/**
|
@@ -363,7 +481,7 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
363 |
* @since 1.0
|
364 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
365 |
*/
|
366 |
-
public function show_activation_panel() {
|
367 |
|
368 |
$path = defined( 'YIT_CORE_PLUGIN_PATH' ) ? YIT_CORE_PLUGIN_PATH : get_template_directory() . '/core/plugin-fw/';
|
369 |
|
@@ -542,20 +660,49 @@ if ( ! class_exists( 'YIT_Licence' ) ) {
|
|
542 |
* @since 1.0
|
543 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
544 |
*/
|
545 |
-
public function
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
'
|
550 |
-
'
|
551 |
-
'
|
552 |
-
'
|
553 |
-
'
|
554 |
-
'
|
555 |
-
'
|
|
|
|
|
|
|
|
|
556 |
);
|
557 |
|
558 |
-
return isset( $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
559 |
}
|
560 |
|
561 |
}
|
56 |
*/
|
57 |
protected $_api_uri_query_args = '?wc-api=software-api&request=%request%';
|
58 |
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @var string check for show extra info
|
62 |
+
* @since 1.0
|
63 |
+
*/
|
64 |
+
public $show_extra_info = false;
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @var string check for show extra info
|
68 |
+
* @since 1.0
|
69 |
+
*/
|
70 |
+
public $show_renew_button = true;
|
71 |
+
|
72 |
/**
|
73 |
* Constructor
|
74 |
*
|
75 |
* @since 1.0
|
76 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
77 |
*/
|
78 |
+
public function __construct() {
|
79 |
+
$is_debug_enabled = defined( 'YIT_LICENCE_DEBUG' ) && YIT_LICENCE_DEBUG;
|
80 |
+
if ( $is_debug_enabled ) {
|
81 |
+
$this->_api_uri = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
|
82 |
+
add_filter( 'block_local_requests', '__return_false' );
|
83 |
+
}
|
84 |
+
|
85 |
+
/* Style adn Script */
|
86 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
87 |
+
if( $is_debug_enabled ) {
|
88 |
+
//show extra info and renew button in debug mode
|
89 |
+
$this->show_extra_info = $this->show_renew_button = true;
|
90 |
+
}
|
91 |
+
|
92 |
+
else {
|
93 |
+
$this->show_extra_info = defined( 'YIT_SHOW_EXTRA_LICENCE_INFO' ) && YIT_SHOW_EXTRA_LICENCE_INFO;
|
94 |
+
$this->show_renew_button = ! ( defined( 'YIT_HIDE_LICENCE_RENEW_BUTTON' ) && YIT_HIDE_LICENCE_RENEW_BUTTON );
|
95 |
}
|
96 |
+
|
97 |
+
/* Update Licence Information */
|
98 |
+
add_action( 'core_upgrade_preamble', array( $this, 'check_all' ) );
|
99 |
+
add_action( 'wp_maybe_auto_update', array( $this, 'check_all' ) );
|
100 |
+
|
101 |
}
|
102 |
|
103 |
/**
|
145 |
return $home_url;
|
146 |
}
|
147 |
|
|
|
148 |
/**
|
149 |
* Check if the request is ajax
|
150 |
*
|
176 |
|
177 |
wp_enqueue_script( 'yit-licence', $script_path . '/licence/assets/js/' . $filename, array( 'jquery' ), '1.0.0', true );
|
178 |
wp_enqueue_style( 'yit-theme-licence', $style_path . '/licence/assets/css/yit-licence.css' );
|
|
|
179 |
|
180 |
+
/* Localize Scripts */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
wp_localize_script( 'yit-licence', 'licence_message', array(
|
182 |
+
'error' => sprintf( _x( '%s field cannot be empty', '%s = field name', 'yith-plugin-fw' ), '%field%' ), // sprintf must be used to avoid errors with '%field%' string in translation in .po file
|
183 |
+
'errors' => sprintf( __( '%s and %s fields cannot be empty', 'yith-plugin-fw' ), '%field_1%', '%field_2%' ),
|
184 |
+
'server' => __( 'Unable to contact the remote server, please try again later. Thanks!', 'yith-plugin-fw' ),
|
185 |
+
'email' => __( 'Email', 'yith-plugin-fw' ),
|
186 |
+
'license_key' => __( 'License Key', 'yith-plugin-fw' ),
|
187 |
+
'are_you_sure' => __( 'Are you sure you want to deactivate the license for current site?', 'yith-plugin-fw' )
|
188 |
+
)
|
189 |
+
);
|
190 |
+
|
191 |
+
wp_localize_script( 'yit-licence', 'script_info', array(
|
192 |
+
'is_debug' => defined( 'YIT_LICENCE_DEBUG' ) && YIT_LICENCE_DEBUG
|
193 |
)
|
194 |
);
|
195 |
}
|
206 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
207 |
*/
|
208 |
public function activate() {
|
|
|
209 |
$product_init = $_REQUEST['product_init'];
|
210 |
$product = $this->get_product( $product_init );
|
211 |
|
218 |
);
|
219 |
|
220 |
$api_uri = esc_url_raw( add_query_arg( $args, $this->get_api_uri( 'activation' ) ) );
|
221 |
+
$response = wp_remote_get( $api_uri, array( 'timeout' => 30 ) );
|
222 |
|
223 |
if ( is_wp_error( $response ) ) {
|
224 |
$body = false;
|
231 |
if ( $body && is_array( $body ) && isset( $body['activated'] ) && $body['activated'] ) {
|
232 |
|
233 |
$option[$product['product_id']] = array(
|
234 |
+
'email' => urldecode( $args['email'] ),
|
235 |
+
'licence_key' => $args['licence_key'],
|
236 |
+
'licence_expires' => $body['licence_expires'],
|
237 |
+
'message' => $body['message'],
|
238 |
+
'activated' => true,
|
239 |
+
'activation_limit' => $body['activation_limit'],
|
240 |
+
'activation_remaining' => $body['activation_remaining'],
|
241 |
+
'is_membership' => isset( $body['is_membership'] ) ? $body['is_membership'] : false,
|
242 |
);
|
243 |
|
244 |
/* === Check for other plugins activation === */
|
251 |
YIT_Upgrade()->force_regenerate_update_transient();
|
252 |
|
253 |
/* === Licence Activation Template === */
|
254 |
+
$body['template'] = $this->show_activation_panel( $this->get_response_code_message( 200 ) );
|
255 |
+
}
|
256 |
+
|
257 |
+
wp_send_json( $body );
|
258 |
+
}
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Deactivate Plugins
|
262 |
+
*
|
263 |
+
* Send a request to API server to activate plugins
|
264 |
+
*
|
265 |
+
* @return void
|
266 |
+
* @use wp_send_json
|
267 |
+
*
|
268 |
+
* @since 1.0
|
269 |
+
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
270 |
+
*/
|
271 |
+
public function deactivate() {
|
272 |
+
$product_init = $_REQUEST['product_init'];
|
273 |
+
$product = $this->get_product( $product_init );
|
274 |
+
|
275 |
+
$args = array(
|
276 |
+
'email' => urlencode( sanitize_email( $_REQUEST['email'] ) ),
|
277 |
+
'licence_key' => sanitize_text_field( $_REQUEST['licence_key'] ),
|
278 |
+
'product_id' => sanitize_text_field( $product['product_id'] ),
|
279 |
+
'secret_key' => sanitize_text_field( $product['secret_key'] ),
|
280 |
+
'instance' => $this->get_home_url()
|
281 |
+
);
|
282 |
+
|
283 |
+
$api_uri = esc_url_raw( add_query_arg( $args, $this->get_api_uri( 'deactivation' ) ) );
|
284 |
+
$response = wp_remote_get( $api_uri, array( 'timeout' => 30 ) );
|
285 |
+
|
286 |
+
if ( is_wp_error( $response ) ) {
|
287 |
+
$body = false;
|
288 |
+
}
|
289 |
+
else {
|
290 |
+
$body = json_decode( $response['body'] );
|
291 |
+
$body = is_object( $body ) ? get_object_vars( $body ) : false;
|
292 |
+
}
|
293 |
+
|
294 |
+
if ( $body && is_array( $body ) && isset( $body['activated'] ) && ! $body['activated'] && ! isset( $body['error'] ) ) {
|
295 |
+
|
296 |
+
$option[$product['product_id']] = array(
|
297 |
+
'activated' => false,
|
298 |
+
'email' => urldecode( $args['email'] ),
|
299 |
+
'licence_key' => $args['licence_key'],
|
300 |
+
'licence_expires' => $body['licence_expires'],
|
301 |
+
'message' => $body['message'],
|
302 |
+
'activation_limit' => $body['activation_limit'],
|
303 |
+
'activation_remaining' => $body['activation_remaining'],
|
304 |
+
'is_membership' => isset( $body['is_membership'] ) ? $body['is_membership'] : false,
|
305 |
+
);
|
306 |
+
|
307 |
+
/* === Check for other plugins activation === */
|
308 |
+
$options = $this->get_licence();
|
309 |
+
$options[$product['product_id']] = $option[$product['product_id']];
|
310 |
+
|
311 |
+
update_option( $this->_licence_option, $options );
|
312 |
+
|
313 |
+
/* === Update Plugin Licence Information === */
|
314 |
+
YIT_Upgrade()->force_regenerate_update_transient();
|
315 |
+
|
316 |
+
/* === Licence Activation Template === */
|
317 |
+
$body['template'] = $this->show_activation_panel( $this->get_response_code_message( 'deactivated', array( 'instance' => $body['instance'] ) ) );
|
318 |
+
}
|
319 |
+
|
320 |
+
else {
|
321 |
+
$body['error'] = $this->get_response_code_message( $body['code'] );
|
322 |
}
|
323 |
|
324 |
wp_send_json( $body );
|
336 |
* @since 1.0
|
337 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
338 |
*/
|
339 |
+
public function check( $product_init, $regenerate_transient = true ) {
|
340 |
|
341 |
$status = false;
|
342 |
$body = false;
|
357 |
);
|
358 |
|
359 |
$api_uri = esc_url_raw( add_query_arg( $args, $this->get_api_uri( 'check' ) ) );
|
360 |
+
$response = wp_remote_get( $api_uri, array( 'timeout' => 30 ) );
|
361 |
|
362 |
if ( ! is_wp_error( $response ) ) {
|
363 |
$body = json_decode( $response['body'] );
|
375 |
$licence[ $product_id ]['licence_expires'] = $body['licence_expires'];
|
376 |
$licence[ $product_id ]['activation_remaining'] = $body['activation_remaining'];
|
377 |
$licence[ $product_id ]['activation_limit'] = $body['activation_limit'];
|
378 |
+
$licence[ $product_id ]['is_membership'] = isset( $body['is_membership'] ) ? $body['is_membership'] : false;
|
379 |
$status = (bool) $body['activated'];
|
380 |
}
|
381 |
elseif ( isset( $body['code'] ) ) {
|
394 |
* 106 -> Licence key has expired
|
395 |
* 107 -> Licence key has be banned
|
396 |
*
|
397 |
+
* Only code 101, 106 and 107 have effect on DB during activation
|
398 |
+
* All error code have effect on DB during deactivation
|
399 |
*
|
400 |
*/
|
401 |
|
406 |
|
407 |
case '106':
|
408 |
$licence[ $product_id ]['activated'] = false;
|
409 |
+
$licence[ $product_id ]['message'] = $body['error'];
|
410 |
$licence[ $product_id ]['status_code'] = $body['code'];
|
411 |
$licence[ $product_id ]['licence_expires'] = $body['licence_expires'];
|
412 |
+
//$licence[ $product_id ]['is_membership'] = isset( $body['is_membership'] ) ? $body['is_membership'] : false;
|
413 |
break;
|
414 |
|
415 |
case '107':
|
416 |
+
$licence[ $product_id ]['activated'] = false;
|
417 |
+
$licence[ $product_id ]['message'] = $body['error'];
|
418 |
+
$licence[ $product_id ]['status_code'] = $body['code'];
|
419 |
+
//$licence[ $product_id ]['is_membership'] = isset( $body['is_membership'] ) ? $body['is_membership'] : false;
|
420 |
break;
|
421 |
}
|
422 |
}
|
425 |
update_option( $this->_licence_option, $licence );
|
426 |
|
427 |
/* === Update Plugin Licence Information === */
|
428 |
+
if( $regenerate_transient ) {
|
429 |
+
YIT_Upgrade()->force_regenerate_update_transient();
|
430 |
+
}
|
431 |
}
|
432 |
return $status;
|
433 |
}
|
434 |
|
435 |
+
/**
|
436 |
+
* Check for licence update
|
437 |
+
*
|
438 |
+
* @return void
|
439 |
+
* @since 2.5
|
440 |
+
*
|
441 |
+
* @use YIT_Theme_Licence->check()
|
442 |
+
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
443 |
+
*/
|
444 |
+
public function check_all(){
|
445 |
+
foreach ( $this->_products as $init => $info ) {
|
446 |
+
$this->check( $init );
|
447 |
+
}
|
448 |
+
}
|
449 |
+
|
450 |
/**
|
451 |
* Update Plugins Information
|
452 |
*
|
459 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
460 |
*/
|
461 |
public function update_licence_information() {
|
462 |
+
/* Check licence information for alla products */
|
463 |
+
$this->check_all();
|
|
|
464 |
|
465 |
/* === Regenerate Update Plugins Transient === */
|
466 |
YIT_Upgrade()->force_regenerate_update_transient();
|
467 |
|
468 |
do_action( 'yit_licence_after_check' );
|
469 |
|
470 |
+
if( $this->is_ajax() ) {
|
471 |
+
$response['template'] = $this->show_activation_panel();
|
472 |
+
wp_send_json( $response );
|
473 |
+
}
|
474 |
}
|
475 |
|
476 |
/**
|
481 |
* @since 1.0
|
482 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
483 |
*/
|
484 |
+
public function show_activation_panel( $notice = '' ) {
|
485 |
|
486 |
$path = defined( 'YIT_CORE_PLUGIN_PATH' ) ? YIT_CORE_PLUGIN_PATH : get_template_directory() . '/core/plugin-fw/';
|
487 |
|
660 |
* @since 1.0
|
661 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
662 |
*/
|
663 |
+
public function get_response_code_message( $code, $args = array() ) {
|
664 |
+
extract( $args );
|
665 |
+
|
666 |
+
$messages = array(
|
667 |
+
'100' => __( 'Invalid Request', 'yith-plugin-fw' ),
|
668 |
+
'101' => __( 'Invalid license key', 'yith-plugin-fw' ),
|
669 |
+
'102' => __( 'Software has been deactivated', 'yith-plugin-fw' ),
|
670 |
+
'103' => __( 'Maximum number of activations exceeded', 'yith-plugin-fw' ),
|
671 |
+
'104' => __( 'Invalid instance ID', 'yith-plugin-fw' ),
|
672 |
+
'105' => __( 'Invalid security key', 'yith-plugin-fw' ),
|
673 |
+
'106' => __( 'License key has expired', 'yith-plugin-fw' ),
|
674 |
+
'107' => __( 'License key has been banned', 'yith-plugin-fw' ),
|
675 |
+
'108' => __( 'Current product is not included with your membership key', 'woocommerce-software-add-on' ),
|
676 |
+
'200' => sprintf( '<strong>%s</strong>! %s',__( 'Great', 'yith-plugin-fw' ), __( 'License successfully activated', 'yith-plugin-fw' ) ),
|
677 |
+
'deactivated' => sprintf( '%s <strong>%s</strong>', __( 'License key deactivated for website', 'woocommerce-software-add-on' ), isset( $instance ) ? $instance : '' )
|
678 |
);
|
679 |
|
680 |
+
return isset( $messages[$code] ) ? $messages[$code] : false;
|
681 |
+
}
|
682 |
+
|
683 |
+
/**
|
684 |
+
* Get the product name to display
|
685 |
+
*
|
686 |
+
* @param $product_name
|
687 |
+
*
|
688 |
+
* @return string the product name
|
689 |
+
*
|
690 |
+
* @since 2.2
|
691 |
+
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
692 |
+
*/
|
693 |
+
public function display_product_name( $product_name ){
|
694 |
+
return str_replace( array( 'YITH', 'WooCommerce', 'Premium', 'Theme' ), '', $product_name );
|
695 |
+
}
|
696 |
+
|
697 |
+
public function get_number_of_membership_products(){
|
698 |
+
$activated_products = $this->get_activated_products();
|
699 |
+
$num_members_products_activate = 0;
|
700 |
+
foreach( $activated_products as $activated_product ){
|
701 |
+
if( isset( $activated_product['licence']['is_membership'] ) && $activated_product['licence']['is_membership'] ){
|
702 |
+
$num_members_products_activate++;
|
703 |
+
}
|
704 |
+
}
|
705 |
+
return $num_members_products_activate;
|
706 |
}
|
707 |
|
708 |
}
|
plugin-fw/licence/lib/yit-plugin-licence.php
CHANGED
@@ -8,11 +8,11 @@
|
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
-
if ( !
|
12 |
exit;
|
13 |
} // Exit if accessed directly
|
14 |
|
15 |
-
if ( !
|
16 |
/**
|
17 |
* YIT Plugin Licence Panel
|
18 |
*
|
@@ -23,7 +23,6 @@ if ( ! class_exists( 'YIT_Plugin_Licence' ) ) {
|
|
23 |
* @since 1.0
|
24 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
25 |
*/
|
26 |
-
|
27 |
class YIT_Plugin_Licence extends YIT_Licence {
|
28 |
|
29 |
/**
|
@@ -59,27 +58,26 @@ if ( ! class_exists( 'YIT_Plugin_Licence' ) ) {
|
|
59 |
public function __construct() {
|
60 |
parent::__construct();
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
|
66 |
$this->_settings = array(
|
67 |
'parent_page' => 'yit_plugin_panel',
|
68 |
-
'page_title' => __( '
|
69 |
-
'menu_title' => __( '
|
70 |
'capability' => 'manage_options',
|
71 |
'page' => 'yith_plugins_activation',
|
72 |
);
|
73 |
|
74 |
add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
|
75 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
76 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'localize_script' ), 15 );
|
77 |
add_action( "wp_ajax_activate-{$this->_product_type}", array( $this, 'activate' ) );
|
|
|
78 |
add_action( "wp_ajax_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
|
79 |
add_action( 'yit_licence_after_check', array( $this, 'licence_after_check' ) );
|
80 |
}
|
81 |
|
82 |
-
|
83 |
public function licence_after_check() {
|
84 |
/* === Regenerate Update Plugins Transient === */
|
85 |
YIT_Upgrade()->force_regenerate_update_transient();
|
@@ -133,16 +131,20 @@ if ( ! class_exists( 'YIT_Plugin_Licence' ) ) {
|
|
133 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
134 |
*/
|
135 |
public function register( $plugin_init, $secret_key, $product_id ) {
|
136 |
-
if ( !
|
137 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
138 |
}
|
139 |
|
140 |
$plugins = get_plugins();
|
141 |
$plugins[$plugin_init]['secret_key'] = $secret_key;
|
142 |
$plugins[$plugin_init]['product_id'] = $product_id;
|
143 |
-
$this->_products[$plugin_init]
|
144 |
}
|
145 |
-
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
|
148 |
/**
|
@@ -152,7 +154,7 @@ if ( ! class_exists( 'YIT_Plugin_Licence' ) ) {
|
|
152 |
* @since 1.0
|
153 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
154 |
*/
|
155 |
-
if( !
|
156 |
function YIT_Plugin_Licence() {
|
157 |
return YIT_Plugin_Licence::instance();
|
158 |
}
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
+
if ( !defined( 'ABSPATH' ) ) {
|
12 |
exit;
|
13 |
} // Exit if accessed directly
|
14 |
|
15 |
+
if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
|
16 |
/**
|
17 |
* YIT Plugin Licence Panel
|
18 |
*
|
23 |
* @since 1.0
|
24 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
25 |
*/
|
|
|
26 |
class YIT_Plugin_Licence extends YIT_Licence {
|
27 |
|
28 |
/**
|
58 |
public function __construct() {
|
59 |
parent::__construct();
|
60 |
|
61 |
+
if ( !is_admin() ) {
|
62 |
+
return;
|
63 |
+
}
|
64 |
|
65 |
$this->_settings = array(
|
66 |
'parent_page' => 'yit_plugin_panel',
|
67 |
+
'page_title' => __( 'License Activation', 'yith-plugin-fw' ),
|
68 |
+
'menu_title' => __( 'License Activation', 'yith-plugin-fw' ),
|
69 |
'capability' => 'manage_options',
|
70 |
'page' => 'yith_plugins_activation',
|
71 |
);
|
72 |
|
73 |
add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
|
|
|
|
|
74 |
add_action( "wp_ajax_activate-{$this->_product_type}", array( $this, 'activate' ) );
|
75 |
+
add_action( "wp_ajax_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
|
76 |
add_action( "wp_ajax_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
|
77 |
add_action( 'yit_licence_after_check', array( $this, 'licence_after_check' ) );
|
78 |
}
|
79 |
|
80 |
+
|
81 |
public function licence_after_check() {
|
82 |
/* === Regenerate Update Plugins Transient === */
|
83 |
YIT_Upgrade()->force_regenerate_update_transient();
|
131 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
132 |
*/
|
133 |
public function register( $plugin_init, $secret_key, $product_id ) {
|
134 |
+
if ( !function_exists( 'get_plugins' ) ) {
|
135 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
136 |
}
|
137 |
|
138 |
$plugins = get_plugins();
|
139 |
$plugins[$plugin_init]['secret_key'] = $secret_key;
|
140 |
$plugins[$plugin_init]['product_id'] = $product_id;
|
141 |
+
$this->_products[$plugin_init] = $plugins[$plugin_init];
|
142 |
}
|
143 |
+
|
144 |
+
public function get_product_type() {
|
145 |
+
return $this->_product_type;
|
146 |
+
}
|
147 |
+
}
|
148 |
}
|
149 |
|
150 |
/**
|
154 |
* @since 1.0
|
155 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
156 |
*/
|
157 |
+
if ( !function_exists( 'YIT_Plugin_Licence' ) ) {
|
158 |
function YIT_Plugin_Licence() {
|
159 |
return YIT_Plugin_Licence::instance();
|
160 |
}
|
plugin-fw/licence/lib/yit-theme-licence.php
CHANGED
@@ -8,11 +8,11 @@
|
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
-
if ( !
|
12 |
exit;
|
13 |
} // Exit if accessed directly
|
14 |
|
15 |
-
if ( !
|
16 |
/**
|
17 |
* YIT Plugin Licence Panel
|
18 |
*
|
@@ -23,7 +23,6 @@ if ( ! class_exists( 'YIT_Theme_Licence' ) ) {
|
|
23 |
* @since 1.0
|
24 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
25 |
*/
|
26 |
-
|
27 |
class YIT_Theme_Licence extends YIT_Licence {
|
28 |
|
29 |
/**
|
@@ -50,6 +49,12 @@ if ( ! class_exists( 'YIT_Theme_Licence' ) ) {
|
|
50 |
*/
|
51 |
protected $_product_type = 'theme';
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
/**
|
54 |
* Constructor
|
55 |
*
|
@@ -61,16 +66,15 @@ if ( ! class_exists( 'YIT_Theme_Licence' ) ) {
|
|
61 |
|
62 |
$this->_settings = array(
|
63 |
'parent_page' => 'yit_product_panel',
|
64 |
-
'page_title' => __( '
|
65 |
-
'menu_title' => __( '
|
66 |
'capability' => 'manage_options',
|
67 |
'page' => 'yith_plugins_activation',
|
68 |
);
|
69 |
|
70 |
add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
|
71 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
72 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'localize_script' ), 15 );
|
73 |
add_action( "wp_ajax_activate-{$this->_product_type}", array( $this, 'activate' ) );
|
|
|
74 |
add_action( "wp_ajax_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
|
75 |
}
|
76 |
|
@@ -101,15 +105,15 @@ if ( ! class_exists( 'YIT_Theme_Licence' ) ) {
|
|
101 |
public function add_submenu_page() {
|
102 |
|
103 |
$admin_tree = array(
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
sprintf( __( '%s', 'yith-plugin-fw' ), $admin_tree['page_title'] ),
|
114 |
sprintf( __( '%s', 'yith-plugin-fw' ), $admin_tree['menu_title'] ),
|
115 |
$admin_tree['capability'],
|
@@ -122,8 +126,8 @@ if ( ! class_exists( 'YIT_Theme_Licence' ) ) {
|
|
122 |
* Premium product registration
|
123 |
*
|
124 |
* @param $product_init | string | The product init file
|
125 |
-
* @param $secret_key
|
126 |
-
* @param $product_id
|
127 |
*
|
128 |
* @return void
|
129 |
*
|
@@ -131,11 +135,44 @@ if ( ! class_exists( 'YIT_Theme_Licence' ) ) {
|
|
131 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
132 |
*/
|
133 |
public function register( $product_init, $secret_key, $product_id ) {
|
134 |
-
$theme
|
135 |
-
$products[$product_init]['Name']
|
136 |
-
$products[$product_init]['secret_key']
|
137 |
-
$products[$product_init]['product_id']
|
138 |
-
$this->_products[$product_init]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
}
|
140 |
}
|
141 |
}
|
@@ -147,7 +184,7 @@ if ( ! class_exists( 'YIT_Theme_Licence' ) ) {
|
|
147 |
* @since 1.0
|
148 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
149 |
*/
|
150 |
-
if( !
|
151 |
function YIT_Theme_Licence() {
|
152 |
return YIT_Theme_Licence::instance();
|
153 |
}
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
+
if ( !defined( 'ABSPATH' ) ) {
|
12 |
exit;
|
13 |
} // Exit if accessed directly
|
14 |
|
15 |
+
if ( !class_exists( 'YIT_Theme_Licence' ) ) {
|
16 |
/**
|
17 |
* YIT Plugin Licence Panel
|
18 |
*
|
23 |
* @since 1.0
|
24 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
25 |
*/
|
|
|
26 |
class YIT_Theme_Licence extends YIT_Licence {
|
27 |
|
28 |
/**
|
49 |
*/
|
50 |
protected $_product_type = 'theme';
|
51 |
|
52 |
+
/**
|
53 |
+
* @var string Old theme licence works until 28 January 2016
|
54 |
+
* @since 1.0
|
55 |
+
*/
|
56 |
+
protected $_old_licence_expires = 1453939200; //28 January 2016
|
57 |
+
|
58 |
/**
|
59 |
* Constructor
|
60 |
*
|
66 |
|
67 |
$this->_settings = array(
|
68 |
'parent_page' => 'yit_product_panel',
|
69 |
+
'page_title' => __( 'License Activation', 'yith-plugin-fw' ),
|
70 |
+
'menu_title' => __( 'License Activation', 'yith-plugin-fw' ),
|
71 |
'capability' => 'manage_options',
|
72 |
'page' => 'yith_plugins_activation',
|
73 |
);
|
74 |
|
75 |
add_action( 'admin_menu', array( $this, 'add_submenu_page' ), 99 );
|
|
|
|
|
76 |
add_action( "wp_ajax_activate-{$this->_product_type}", array( $this, 'activate' ) );
|
77 |
+
add_action( "wp_ajax_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
|
78 |
add_action( "wp_ajax_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
|
79 |
}
|
80 |
|
105 |
public function add_submenu_page() {
|
106 |
|
107 |
$admin_tree = array(
|
108 |
+
'parent_slug' => apply_filters( 'yit_licence_parent_slug', 'yit_panel' ),
|
109 |
+
'page_title' => __( 'License Activation', 'yith-plugin-fw' ),
|
110 |
+
'menu_title' => __( 'License Activation', 'yith-plugin-fw' ),
|
111 |
+
'capability' => 'manage_options',
|
112 |
+
'menu_slug' => 'yit_panel_license',
|
113 |
+
'function' => 'show_activation_panel'
|
114 |
+
);
|
115 |
+
|
116 |
+
add_submenu_page( $admin_tree['parent_slug'],
|
117 |
sprintf( __( '%s', 'yith-plugin-fw' ), $admin_tree['page_title'] ),
|
118 |
sprintf( __( '%s', 'yith-plugin-fw' ), $admin_tree['menu_title'] ),
|
119 |
$admin_tree['capability'],
|
126 |
* Premium product registration
|
127 |
*
|
128 |
* @param $product_init | string | The product init file
|
129 |
+
* @param $secret_key | string | The product secret key
|
130 |
+
* @param $product_id | string | The product slug (product_id)
|
131 |
*
|
132 |
* @return void
|
133 |
*
|
135 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
136 |
*/
|
137 |
public function register( $product_init, $secret_key, $product_id ) {
|
138 |
+
$theme = wp_get_theme();
|
139 |
+
$products[$product_init]['Name'] = $theme->Name;
|
140 |
+
$products[$product_init]['secret_key'] = $secret_key;
|
141 |
+
$products[$product_init]['product_id'] = $product_id;
|
142 |
+
$this->_products[$product_init] = $products[$product_init];
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Check for old licence
|
147 |
+
*
|
148 |
+
* @return bool True for old licence period, false otherwise
|
149 |
+
* @since 2.2
|
150 |
+
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
151 |
+
*/
|
152 |
+
public function show_old_licence_message() {
|
153 |
+
return time() < $this->_old_licence_expires;
|
154 |
+
}
|
155 |
+
|
156 |
+
public function get_old_licence_message() {
|
157 |
+
ob_start(); ?>
|
158 |
+
<div class="activation-faq">
|
159 |
+
<h3><?php _e( 'I cannot find the license key for activating the theme I have bought some time ago. Where can I find it?', 'yith-plugin-fw' ) ?></h3>
|
160 |
+
|
161 |
+
<p>
|
162 |
+
<?php
|
163 |
+
_e( 'If you have purchased one of our products before 27 January 2015, you can benefit from support and updates (the services offered with the license)
|
164 |
+
until 27 January 2016 and you do not have to purchase it again to get a new license key, because, before this date, your license used to be activated automatically by our system.
|
165 |
+
After 27 January 2016, instead, if you want to benefit from support and updates you have to buy a new license and activate it through the license key you will be
|
166 |
+
provided with and that you can find in your YIThemes account, in section "My licenses".', 'yith-plugin-fw' )
|
167 |
+
?>
|
168 |
+
</p>
|
169 |
+
</div>
|
170 |
+
<?php
|
171 |
+
echo ob_get_clean();
|
172 |
+
}
|
173 |
+
|
174 |
+
public function get_product_type() {
|
175 |
+
return $this->_product_type;
|
176 |
}
|
177 |
}
|
178 |
}
|
184 |
* @since 1.0
|
185 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
186 |
*/
|
187 |
+
if ( !function_exists( 'YIT_Theme_Licence' ) ) {
|
188 |
function YIT_Theme_Licence() {
|
189 |
return YIT_Theme_Licence::instance();
|
190 |
}
|
plugin-fw/licence/templates/panel/activation/activation-panel.php
CHANGED
@@ -8,45 +8,40 @@
|
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
-
$to_active_products
|
12 |
-
$activated_products
|
13 |
-
$no_active_products
|
14 |
-
$expired_products
|
15 |
-
$banned_products
|
|
|
|
|
|
|
|
|
16 |
?>
|
17 |
|
18 |
<div class="yit-container product-licence-activation">
|
19 |
-
<h2><?php _e( 'Yithemes
|
20 |
-
|
21 |
-
<?php
|
22 |
-
<div class="activation-faq">
|
23 |
-
<h3><?php _e( 'I cannot find the license key for activating the theme I have bought some time ago. Where can I find it?', 'yith-plugin-fw' ) ?></h3>
|
24 |
-
<p>
|
25 |
-
<?php
|
26 |
-
_e( 'If you have purchased one of our products before 27 January 2015, you can benefit from support and updates (the services offered with the license)
|
27 |
-
until 27 January 2016 and you do not have to purchase it again to get a new license key, because, before this date, your license used to be activated automatically by our system.
|
28 |
-
After 27 January 2016, instead, if you want to benefit from support and updates you have to buy a new license and activate it through the license key you will be
|
29 |
-
provided with and that you can find in your YIThemes account, in section "My licenses".', 'yith-plugin-fw' )
|
30 |
-
?>
|
31 |
-
</p>
|
32 |
-
</div>
|
33 |
-
<?php endif; ?>
|
34 |
|
35 |
<div class="licence-check-section">
|
36 |
<form method="post" id="licence-check-update" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
|
37 |
<span class="licence-label" style="display: block;"><?php _e( 'Have you updated your licenses? Have you asked for an extension? Update information concerning your products.', 'yith-plugin-fw' ); ?></span>
|
38 |
-
<input type="hidden" name="action" value="update_licence_information-<?php echo $this->
|
39 |
-
<input type="submit" name="submit" value="<?php _e( 'Update
|
40 |
<div class="spinner"></div>
|
41 |
</form>
|
42 |
</div>
|
43 |
|
44 |
-
|
|
|
|
|
45 |
|
|
|
46 |
|
47 |
<?php if( ! empty( $to_active_products ) ) : ?>
|
48 |
-
<h3 class="to-active">
|
49 |
-
<?php
|
50 |
<span class="spinner"></span>
|
51 |
</h3>
|
52 |
<div class="to-active-wrapper">
|
@@ -56,23 +51,22 @@ $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_produc
|
|
56 |
<tbody>
|
57 |
<tr class="product-row">
|
58 |
<td class="product-name">
|
59 |
-
<?php echo $info['Name'] ?>
|
60 |
</td>
|
61 |
<td>
|
62 |
<input type="email" name="email" placeholder="Your email on Yithemes.com" value="" class="user-email" />
|
63 |
</td>
|
64 |
<td>
|
65 |
-
<input type="text" name="licence_key" placeholder="
|
66 |
</td>
|
67 |
<td class="activate-button">
|
68 |
<input type="submit" name="submit" value="<?php _e( 'Activate', 'yith-plugin-fw' )?>" class="button-licence licence-activation" data-formid="<?php echo $info['product_id'] ?>"/>
|
69 |
</td>
|
70 |
</tr>
|
71 |
-
<input type="hidden" name="action" value="activate-<?php echo $this->
|
72 |
<input type="hidden" name="product_init" value="<?php echo $init ?>" />
|
73 |
</tbody>
|
74 |
</table>
|
75 |
-
<div class="spinner"></div>
|
76 |
<div class="message-wrapper">
|
77 |
<span class="message arrow-left"></span>
|
78 |
</div>
|
@@ -84,29 +78,78 @@ $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_produc
|
|
84 |
<!-- Activated Products -->
|
85 |
|
86 |
<?php if( ! empty( $activated_products ) ) : ?>
|
87 |
-
<h3
|
88 |
-
|
|
|
|
|
|
|
89 |
<thead>
|
90 |
<tr>
|
91 |
<th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
|
92 |
-
|
93 |
-
|
|
|
|
|
|
|
94 |
<th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
</tr>
|
98 |
</thead>
|
99 |
<tbody>
|
100 |
<?php foreach( $activated_products as $init => $info ) : ?>
|
101 |
<tr>
|
102 |
-
<td class="product-name"
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
</td>
|
109 |
-
<td><a class="button-licence licence-renew" href="<?php echo $this->get_renewing_uri( $info['licence']['licence_key'] ) ?>" target="_blank"><?php _e( 'Renew', 'yith-plugin-fw' ) ?></a></td>
|
110 |
</tr>
|
111 |
<?php endforeach; ?>
|
112 |
</tbody>
|
@@ -121,16 +164,22 @@ $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_produc
|
|
121 |
<thead>
|
122 |
<tr>
|
123 |
<th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
|
124 |
-
|
125 |
-
|
|
|
|
|
126 |
</tr>
|
127 |
</thead>
|
128 |
<tbody>
|
129 |
<?php foreach( $banned_products as $init => $info ) : ?>
|
130 |
<tr>
|
131 |
-
<td class="product-name"
|
132 |
-
|
133 |
-
|
|
|
|
|
|
|
|
|
134 |
</tr>
|
135 |
<?php endforeach; ?>
|
136 |
</tbody>
|
@@ -145,20 +194,44 @@ $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_produc
|
|
145 |
<thead>
|
146 |
<tr>
|
147 |
<th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
150 |
<th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
|
151 |
-
|
|
|
|
|
|
|
152 |
</tr>
|
153 |
</thead>
|
154 |
<tbody>
|
155 |
<?php foreach( $expired_products as $init => $info ) : ?>
|
156 |
<tr>
|
157 |
-
<td class="product-name"
|
158 |
-
|
159 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
<td class="product-licence-expires"><?php echo date("F j, Y", $info['licence']['licence_expires'] ); ?></td>
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
</tr>
|
163 |
<?php endforeach; ?>
|
164 |
</tbody>
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
+
$to_active_products = $this->get_to_active_products();
|
12 |
+
$activated_products = $this->get_activated_products();
|
13 |
+
$no_active_products = $this->get_no_active_licence_key();
|
14 |
+
$expired_products = isset( $no_active_products[ '106' ] ) ? $no_active_products[ '106' ] : array();
|
15 |
+
$banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_products[ '107' ] : array();
|
16 |
+
$notice = isset( $notice ) ? $notice : '';
|
17 |
+
$notice_class = ! empty( $notice ) ? 'notice notice-success visible' : 'notice notice-success';
|
18 |
+
$to_activate_check = $this instanceof YIT_Theme_Licence ? 1 : 2;
|
19 |
+
$num_members_products_activate = $this->get_number_of_membership_products();
|
20 |
?>
|
21 |
|
22 |
<div class="yit-container product-licence-activation">
|
23 |
+
<h2><?php _e( 'Yithemes License Activation', 'yith-plugin-fw' ) ?></h2>
|
24 |
+
|
25 |
+
<?php $this instanceof YIT_Theme_Licence && $this->show_old_licence_message() && $this->get_old_licence_message(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
<div class="licence-check-section">
|
28 |
<form method="post" id="licence-check-update" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
|
29 |
<span class="licence-label" style="display: block;"><?php _e( 'Have you updated your licenses? Have you asked for an extension? Update information concerning your products.', 'yith-plugin-fw' ); ?></span>
|
30 |
+
<input type="hidden" name="action" value="update_licence_information-<?php echo $this->get_product_type(); ?>" />
|
31 |
+
<input type="submit" name="submit" value="<?php _e( 'Update license information', 'yith-plugin-fw' ) ?>" class="button-licence licence-check" />
|
32 |
<div class="spinner"></div>
|
33 |
</form>
|
34 |
</div>
|
35 |
|
36 |
+
<div id="yith-licence-notice" class="<?php echo $notice_class ?>">
|
37 |
+
<p class="yith-licence-notice-message"><?php echo $notice ?></p>
|
38 |
+
</div>
|
39 |
|
40 |
+
<!-- To Active Products -->
|
41 |
|
42 |
<?php if( ! empty( $to_active_products ) ) : ?>
|
43 |
+
<h3 id="products-to-active" class="to-active">
|
44 |
+
<?php echo _n( 'Product to activate', 'Products to activate', $to_activate_check, 'yith-plugin-fw' ) ?>
|
45 |
<span class="spinner"></span>
|
46 |
</h3>
|
47 |
<div class="to-active-wrapper">
|
51 |
<tbody>
|
52 |
<tr class="product-row">
|
53 |
<td class="product-name">
|
54 |
+
<?php echo $this->display_product_name( $info['Name'] ) ?>
|
55 |
</td>
|
56 |
<td>
|
57 |
<input type="email" name="email" placeholder="Your email on Yithemes.com" value="" class="user-email" />
|
58 |
</td>
|
59 |
<td>
|
60 |
+
<input type="text" name="licence_key" placeholder="License Key" value="" class="licence-key" />
|
61 |
</td>
|
62 |
<td class="activate-button">
|
63 |
<input type="submit" name="submit" value="<?php _e( 'Activate', 'yith-plugin-fw' )?>" class="button-licence licence-activation" data-formid="<?php echo $info['product_id'] ?>"/>
|
64 |
</td>
|
65 |
</tr>
|
66 |
+
<input type="hidden" name="action" value="activate-<?php echo $this->get_product_type(); ?>" />
|
67 |
<input type="hidden" name="product_init" value="<?php echo $init ?>" />
|
68 |
</tbody>
|
69 |
</table>
|
|
|
70 |
<div class="message-wrapper">
|
71 |
<span class="message arrow-left"></span>
|
72 |
</div>
|
78 |
<!-- Activated Products -->
|
79 |
|
80 |
<?php if( ! empty( $activated_products ) ) : ?>
|
81 |
+
<h3 id="activated-products">
|
82 |
+
<?php _e( 'Activated', 'yith-plugin-fw' ) ?>
|
83 |
+
<span class="spinner"></span>
|
84 |
+
</h3>
|
85 |
+
<table class="activated-table">
|
86 |
<thead>
|
87 |
<tr>
|
88 |
<th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
|
89 |
+
<?php if( $this->show_extra_info ) : ?>
|
90 |
+
<th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
|
91 |
+
<th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
|
92 |
+
<?php endif; ?>
|
93 |
+
|
94 |
<th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
|
95 |
+
|
96 |
+
<?php if( $this->show_extra_info ) : ?>
|
97 |
+
<th><?php _e( 'Remaining', 'yith-plugin-fw' ) ?></th>
|
98 |
+
<?php if( $num_members_products_activate ) : ?>
|
99 |
+
<th><?php _e( 'Membership', 'yith-plugin-fw' ) ?></th>
|
100 |
+
<?php endif; ?>
|
101 |
+
<?php endif; ?>
|
102 |
+
|
103 |
+
<th><?php _e( 'License Actions', 'yith-plugin-fw' ) ?></th>
|
104 |
</tr>
|
105 |
</thead>
|
106 |
<tbody>
|
107 |
<?php foreach( $activated_products as $init => $info ) : ?>
|
108 |
<tr>
|
109 |
+
<td class="product-name">
|
110 |
+
<?php echo $this->display_product_name( $info['Name'] ) ?>
|
111 |
+
</td>
|
112 |
+
|
113 |
+
<?php if( $this->show_extra_info ) : ?>
|
114 |
+
<td class="product-licence-email">
|
115 |
+
<?php echo $info['licence']['email'] ?>
|
116 |
+
</td>
|
117 |
+
<td class="product-licence-key">
|
118 |
+
<?php echo $info['licence']['licence_key'] ?>
|
119 |
+
</td>
|
120 |
+
<?php endif; ?>
|
121 |
+
|
122 |
+
<td class="product-licence-expires">
|
123 |
+
<?php echo date("F j, Y", $info['licence']['licence_expires'] ); ?>
|
124 |
+
</td>
|
125 |
+
|
126 |
+
<?php if( $this->show_extra_info ) : ?>
|
127 |
+
<td class="product-licence-remaining">
|
128 |
+
<?php printf( __( '%1s out of %2s', 'yith-plugin-fw' ), $info['licence']['activation_remaining'], $info['licence']['activation_limit'] ); ?>
|
129 |
+
</td>
|
130 |
+
<?php if( $num_members_products_activate ) : ?>
|
131 |
+
<td class="product-licence-membership">
|
132 |
+
<span class="dashicons dashicons-<?php echo $info['licence']['is_membership'] ? 'yes' : 'no-alt' ?>"></span>
|
133 |
+
</td>
|
134 |
+
<?php endif; ?>
|
135 |
+
<?php endif; ?>
|
136 |
+
|
137 |
+
<td>
|
138 |
+
<a class="button-licence licence-deactive"
|
139 |
+
href="#"
|
140 |
+
data-licence-email="<?php echo $info['licence']['email'] ?>"
|
141 |
+
data-licence-key="<?php echo $info['licence']['licence_key'] ?>"
|
142 |
+
data-product-init="<?php echo $init ?>"
|
143 |
+
data-action="deactivate-<?php echo $this->get_product_type(); ?>">
|
144 |
+
<?php _e( 'Deactivate', 'yith-plugin-fw' ) ?>
|
145 |
+
</a>
|
146 |
+
|
147 |
+
<?php if( ! $info['licence']['is_membership'] && $this->show_renew_button ) : ?>
|
148 |
+
<a class="button-licence licence-renew" href="<?php echo $this->get_renewing_uri( $info['licence']['licence_key'] ) ?>" target="_blank">
|
149 |
+
<?php _e( 'Renew', 'yith-plugin-fw' ) ?>
|
150 |
+
</a>
|
151 |
+
<?php endif; ?>
|
152 |
</td>
|
|
|
153 |
</tr>
|
154 |
<?php endforeach; ?>
|
155 |
</tbody>
|
164 |
<thead>
|
165 |
<tr>
|
166 |
<th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
|
167 |
+
<?php if( $this->show_extra_info ) : ?>
|
168 |
+
<th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
|
169 |
+
<th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
|
170 |
+
<?php endif; ?>
|
171 |
</tr>
|
172 |
</thead>
|
173 |
<tbody>
|
174 |
<?php foreach( $banned_products as $init => $info ) : ?>
|
175 |
<tr>
|
176 |
+
<td class="product-name">
|
177 |
+
<?php echo $this->display_product_name( $info['Name'] ) ?>
|
178 |
+
</td>
|
179 |
+
<?php if( $this->show_extra_info ) : ?>
|
180 |
+
<td class="product-licence-email"><?php echo $info['licence']['email'] ?></td>
|
181 |
+
<td class="product-licence-key"><?php echo $info['licence']['licence_key'] ?></td>
|
182 |
+
<?php endif; ?>
|
183 |
</tr>
|
184 |
<?php endforeach; ?>
|
185 |
</tbody>
|
194 |
<thead>
|
195 |
<tr>
|
196 |
<th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
|
197 |
+
|
198 |
+
<?php if( $this->show_extra_info ) : ?>
|
199 |
+
<th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
|
200 |
+
<th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
|
201 |
+
<?php endif; ?>
|
202 |
+
|
203 |
<th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
|
204 |
+
|
205 |
+
<?php if( $this->show_renew_button ) : ?>
|
206 |
+
<th><?php _e( 'Renew', 'yith-plugin-fw' ) ?></th>
|
207 |
+
<?php endif; ?>
|
208 |
</tr>
|
209 |
</thead>
|
210 |
<tbody>
|
211 |
<?php foreach( $expired_products as $init => $info ) : ?>
|
212 |
<tr>
|
213 |
+
<td class="product-name">
|
214 |
+
<?php echo $this->display_product_name( $info['Name'] ) ?>
|
215 |
+
</td>
|
216 |
+
|
217 |
+
<?php if( $this->show_extra_info ) : ?>
|
218 |
+
<td class="product-licence-email"><?php echo $info['licence']['email'] ?></td>
|
219 |
+
<td class="product-licence-key"><?php echo $info['licence']['licence_key'] ?></td>
|
220 |
+
<?php endif; ?>
|
221 |
+
|
222 |
<td class="product-licence-expires"><?php echo date("F j, Y", $info['licence']['licence_expires'] ); ?></td>
|
223 |
+
|
224 |
+
<?php if( $this->show_renew_button ) : ?>
|
225 |
+
<td>
|
226 |
+
<a class="button-licence licence-renew" href="<?php echo $this->get_renewing_uri( $info['licence']['licence_key'] ) ?>" target="_blank">
|
227 |
+
<?php if( $info['licence']['is_membership'] ) : ?>
|
228 |
+
<?php _e( 'Order again', 'yith-plugin-fw' ) ?>
|
229 |
+
<?php else : ?>
|
230 |
+
<?php __( 'Renew license', 'yith-plugin-fw' ) ?>
|
231 |
+
<?php endif; ?>
|
232 |
+
</a>
|
233 |
+
</td>
|
234 |
+
<?php endif; ?>
|
235 |
</tr>
|
236 |
<?php endforeach; ?>
|
237 |
</tbody>
|
plugin-fw/templates/metaboxes/types/number.php
CHANGED
@@ -14,12 +14,25 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
|
15 |
extract( $args );
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
?>
|
18 |
<div id="<?php echo $id ?>-container" <?php if ( isset($deps) ): ?>data-field="<?php echo $id ?>" data-dep="<?php echo $deps['ids'] ?>" data-value="<?php echo $deps['values'] ?>" <?php endif ?>>
|
19 |
<div class="rm_number">
|
20 |
<label for="<?php echo $id ?>"><?php echo $label ?></label>
|
21 |
<span class="field">
|
22 |
-
<input class="number" type="text" id="<?php echo $id ?>" name="<?php echo $name ?>" <?php echo $
|
23 |
<?php yit_string( '<span class="description">', $desc, '</span>' ); ?>
|
24 |
</span>
|
25 |
</div>
|
14 |
|
15 |
extract( $args );
|
16 |
|
17 |
+
$min_max_attr = $step_attr = '';
|
18 |
+
|
19 |
+
if( isset( $min ) ){
|
20 |
+
$min_max_attr .= " min='{$min}'";
|
21 |
+
}
|
22 |
+
|
23 |
+
if( isset( $max ) ){
|
24 |
+
$min_max_attr .= " max='{$max}'";
|
25 |
+
}
|
26 |
+
|
27 |
+
if( isset( $step ) ){
|
28 |
+
$step_attr .= "step='{$step}'";
|
29 |
+
}
|
30 |
?>
|
31 |
<div id="<?php echo $id ?>-container" <?php if ( isset($deps) ): ?>data-field="<?php echo $id ?>" data-dep="<?php echo $deps['ids'] ?>" data-value="<?php echo $deps['values'] ?>" <?php endif ?>>
|
32 |
<div class="rm_number">
|
33 |
<label for="<?php echo $id ?>"><?php echo $label ?></label>
|
34 |
<span class="field">
|
35 |
+
<input class="number" type="text" id="<?php echo $id ?>" name="<?php echo $name ?>" <?php echo $step_attr ?> <?php echo $min_max_attr ?> value="<?php echo esc_attr( $value ) ?>" <?php if( isset( $std ) ) : ?>data-std="<?php echo $std ?>"<?php endif ?>" />
|
36 |
<?php yit_string( '<span class="description">', $desc, '</span>' ); ?>
|
37 |
</span>
|
38 |
</div>
|
plugin-fw/templates/panel/types/upload.php
CHANGED
@@ -26,9 +26,10 @@ $name = $this->get_name_field( $option['id'] );
|
|
26 |
?>
|
27 |
<div id="<?php echo $id ?>-container" >
|
28 |
<div id="<?php echo $id ?>-container" class="yit_options rm_option rm_input rm_text rm_upload" <?php if ( isset( $option['deps'] ) ): ?>data-field="<?php echo $id ?>" data-dep="<?php echo $this->get_id_field( $option['deps']['ids'] ) ?>" data-value="<?php echo $option['deps']['values'] ?>" <?php endif ?>>
|
29 |
-
<div class="option">
|
30 |
<input type="text" name="<?php echo $name ?>" id="<?php echo $id ?>" value="<?php echo $db_value == '1' ? '' : esc_attr( $db_value ) ?>" class="upload_img_url" />
|
31 |
<input type="button" value="<?php _e( 'Upload', 'yith-plugin-fw' ) ?>" id="<?php echo $id ?>-button" class="upload_button button" />
|
|
|
32 |
</div>
|
33 |
<div class="clear"></div>
|
34 |
<span class="description"><?php echo $option['desc'] ?></span>
|
26 |
?>
|
27 |
<div id="<?php echo $id ?>-container" >
|
28 |
<div id="<?php echo $id ?>-container" class="yit_options rm_option rm_input rm_text rm_upload" <?php if ( isset( $option['deps'] ) ): ?>data-field="<?php echo $id ?>" data-dep="<?php echo $this->get_id_field( $option['deps']['ids'] ) ?>" data-value="<?php echo $option['deps']['values'] ?>" <?php endif ?>>
|
29 |
+
<div class="option yit-upload">
|
30 |
<input type="text" name="<?php echo $name ?>" id="<?php echo $id ?>" value="<?php echo $db_value == '1' ? '' : esc_attr( $db_value ) ?>" class="upload_img_url" />
|
31 |
<input type="button" value="<?php _e( 'Upload', 'yith-plugin-fw' ) ?>" id="<?php echo $id ?>-button" class="upload_button button" />
|
32 |
+
<input type="button" value="<?php _e( 'Reset', 'yith-plugin-fw' ) ?>" id="<?php echo $id ?>-button_reset" class="upload_button_reset button" data-default="<?php echo $option['std'] ?>"/>
|
33 |
</div>
|
34 |
<div class="clear"></div>
|
35 |
<span class="description"><?php echo $option['desc'] ?></span>
|
plugin-fw/yit-functions.php
CHANGED
@@ -8,11 +8,11 @@
|
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
12 |
exit;
|
13 |
} // Exit if accessed directly
|
14 |
|
15 |
-
if ( ! function_exists( 'yit_plugin_locate_template' ) ) {
|
16 |
/**
|
17 |
* Locate the templates and return the path of the file found
|
18 |
*
|
@@ -23,12 +23,12 @@ if ( ! function_exists( 'yit_plugin_locate_template' ) ) {
|
|
23 |
* @return string
|
24 |
* @since 2.0.0
|
25 |
*/
|
26 |
-
function yit_plugin_locate_template( $plugin_basename, $path, $var = NULL ) {
|
27 |
|
28 |
$template_path = '/theme/templates/' . $path;
|
29 |
|
30 |
-
$located = locate_template( array(
|
31 |
-
$template_path
|
32 |
) );
|
33 |
|
34 |
if ( ! $located ) {
|
@@ -40,7 +40,7 @@ if ( ! function_exists( 'yit_plugin_locate_template' ) ) {
|
|
40 |
|
41 |
}
|
42 |
|
43 |
-
if ( ! function_exists( 'yit_plugin_get_template' ) ) {
|
44 |
/**
|
45 |
* Retrieve a template file.
|
46 |
*
|
@@ -52,30 +52,30 @@ if ( ! function_exists( 'yit_plugin_get_template' ) ) {
|
|
52 |
* @return string
|
53 |
* @since 2.0.0
|
54 |
*/
|
55 |
-
function yit_plugin_get_template( $plugin_basename, $path, $var = null, $return = false ) {
|
56 |
|
57 |
-
$located = yit_plugin_locate_template( $plugin_basename, $path, $var );
|
58 |
|
59 |
-
if ( $var && is_array( $var ) ) {
|
60 |
-
extract( $var );
|
61 |
}
|
62 |
|
63 |
if ( $return ) {
|
64 |
-
ob_start();
|
65 |
}
|
66 |
|
67 |
// include file located
|
68 |
-
if( file_exists( $located ) ){
|
69 |
-
include( $located );
|
70 |
}
|
71 |
|
72 |
if ( $return ) {
|
73 |
-
return ob_get_clean();
|
74 |
}
|
75 |
}
|
76 |
}
|
77 |
|
78 |
-
if ( ! function_exists( 'yit_plugin_content' ) ) {
|
79 |
/**
|
80 |
* Return post content with read more link (if needed)
|
81 |
*
|
@@ -88,85 +88,79 @@ if ( ! function_exists( 'yit_plugin_content' ) ) {
|
|
88 |
* @return string
|
89 |
* @since 2.0.0
|
90 |
*/
|
91 |
-
function yit_plugin_content( $what = 'content', $limit = 25, $more_text = '', $split = '[...]', $in_paragraph = 'true' ) {
|
92 |
if ( $what == 'content' ) {
|
93 |
-
$content = get_the_content( $more_text );
|
94 |
-
}
|
95 |
-
else {
|
96 |
if ( $what == 'excerpt' ) {
|
97 |
-
$content = get_the_excerpt();
|
98 |
-
}
|
99 |
-
else {
|
100 |
$content = $what;
|
101 |
}
|
102 |
}
|
103 |
|
104 |
if ( $limit == 0 ) {
|
105 |
if ( $what == 'excerpt' ) {
|
106 |
-
$content = apply_filters( 'the_excerpt', $content );
|
107 |
-
}
|
108 |
-
|
109 |
-
$content =
|
110 |
-
$content =
|
111 |
-
$content = str_replace( ']]>', ']]>', $content );
|
112 |
}
|
113 |
|
114 |
return $content;
|
115 |
}
|
116 |
|
117 |
// remove the tag more from the content
|
118 |
-
if ( preg_match( "/<(a)[^>]*class\s*=\s*(['\"])more-link\\2[^>]*>(.*?)<\/\\1>/", $content, $matches ) ) {
|
119 |
|
120 |
-
if ( strpos( $matches[0], '[button' ) ) {
|
121 |
-
$more_link = str_replace( 'href="#"', 'href="' . get_permalink() . '"', do_shortcode( $matches[3] ) );
|
122 |
-
}
|
123 |
-
|
124 |
-
$more_link = $matches[0];
|
125 |
}
|
126 |
|
127 |
-
$content = str_replace( $more_link, '', $content );
|
128 |
$split = '';
|
129 |
}
|
130 |
|
131 |
if ( empty( $content ) ) {
|
132 |
return;
|
133 |
}
|
134 |
-
$content = explode( ' ', $content );
|
135 |
|
136 |
if ( ! empty( $more_text ) && ! isset( $more_link ) ) {
|
137 |
//array_pop( $content );
|
138 |
-
$more_link = strpos( $more_text, '<a class="btn"' ) ? $more_text : '<a class="read-more' . apply_filters( 'yit_simple_read_more_classes', ' ' ) . '" href="' . get_permalink() . '">' . $more_text . '</a>';
|
139 |
$split = '';
|
140 |
-
}
|
141 |
-
elseif ( ! isset( $more_link ) ) {
|
142 |
$more_link = '';
|
143 |
}
|
144 |
|
145 |
// split
|
146 |
-
if ( count( $content ) >= $limit ) {
|
147 |
$split_content = '';
|
148 |
for ( $i = 0; $i < $limit; $i ++ ) {
|
149 |
-
$split_content .= $content[$i] . ' ';
|
150 |
}
|
151 |
|
152 |
$content = $split_content . $split;
|
153 |
-
}
|
154 |
-
|
155 |
-
$content = implode( " ", $content );
|
156 |
}
|
157 |
|
158 |
// TAGS UNCLOSED
|
159 |
-
$tags = array();
|
160 |
// get all tags opened
|
161 |
-
preg_match_all( "/(<([\w]+)[^>]*>)/", $content, $tags_opened, PREG_SET_ORDER );
|
162 |
foreach ( $tags_opened as $tag ) {
|
163 |
-
$tags[] = $tag[2];
|
164 |
}
|
165 |
|
166 |
// get all tags closed and remove it from the tags opened.. the rest will be closed at the end of the content
|
167 |
-
preg_match_all( "/(<\/([\w]+)[^>]*>)/", $content, $tags_closed, PREG_SET_ORDER );
|
168 |
foreach ( $tags_closed as $tag ) {
|
169 |
-
unset( $tags[array_search( $tag[2], $tags )] );
|
170 |
}
|
171 |
|
172 |
// close the tags
|
@@ -178,16 +172,16 @@ if ( ! function_exists( 'yit_plugin_content' ) ) {
|
|
178 |
|
179 |
//$content = preg_replace( '/\[.+\]/', '', $content );
|
180 |
if ( $in_paragraph == true ): $content .= $more_link; endif;
|
181 |
-
$content = preg_replace( '/<img[^>]+./', '', $content ); //remove images
|
182 |
-
$content = apply_filters( 'the_content', $content );
|
183 |
-
$content = str_replace( ']]>', ']]>', $content ); // echo str_replace( array( '<', '>' ), array( '<', '>' ), $content );
|
184 |
if ( $in_paragraph == false ): $content .= $more_link; endif;
|
185 |
|
186 |
return $content;
|
187 |
}
|
188 |
}
|
189 |
|
190 |
-
if ( ! function_exists( 'yit_plugin_string' ) ) {
|
191 |
/**
|
192 |
* Simple echo a string, with a before and after string, only if the main string is not empty.
|
193 |
*
|
@@ -199,10 +193,10 @@ if ( ! function_exists( 'yit_plugin_string' ) ) {
|
|
199 |
* @return string The complete string, if the main string is not empty or null
|
200 |
* @since 2.0.0
|
201 |
*/
|
202 |
-
function yit_plugin_string( $before = '', $string = '', $after = '', $echo = true ) {
|
203 |
$html = '';
|
204 |
|
205 |
-
if ( $string != '' AND ! is_null( $string ) ) {
|
206 |
$html = $before . $string . $after;
|
207 |
}
|
208 |
|
@@ -214,7 +208,7 @@ if ( ! function_exists( 'yit_plugin_string' ) ) {
|
|
214 |
}
|
215 |
}
|
216 |
|
217 |
-
if ( ! function_exists( 'yit_plugin_decode_title' ) ) {
|
218 |
/**
|
219 |
* Change some special characters to put easily html into a string
|
220 |
*
|
@@ -228,14 +222,14 @@ if ( ! function_exists( 'yit_plugin_decode_title' ) ) {
|
|
228 |
*
|
229 |
* @since 1.0
|
230 |
*/
|
231 |
-
function yit_plugin_decode_title( $title ) {
|
232 |
-
$replaces = apply_filters( 'yit_title_special_characters', array() );
|
233 |
|
234 |
-
return preg_replace( array_keys( $replaces ), array_values( $replaces ), $title );
|
235 |
}
|
236 |
}
|
237 |
|
238 |
-
if ( ! function_exists( 'yit_plugin_get_attachment_id' ) ) {
|
239 |
|
240 |
/**
|
241 |
* Return the ID of an attachment.
|
@@ -247,49 +241,49 @@ if ( ! function_exists( 'yit_plugin_get_attachment_id' ) ) {
|
|
247 |
* @since 2.0.0
|
248 |
*/
|
249 |
|
250 |
-
function yit_plugin_get_attachment_id( $url ) {
|
251 |
|
252 |
-
$upload_dir = wp_upload_dir();
|
253 |
-
$dir = trailingslashit( $upload_dir['baseurl'] );
|
254 |
|
255 |
-
if ( false === strpos( $url, $dir ) ) {
|
256 |
return false;
|
257 |
}
|
258 |
|
259 |
-
$file = basename( $url );
|
260 |
|
261 |
-
$query = array(
|
262 |
'post_type' => 'attachment',
|
263 |
'fields' => 'ids',
|
264 |
-
'meta_query' => array(
|
265 |
-
array(
|
266 |
'value' => $file,
|
267 |
'compare' => 'LIKE',
|
268 |
-
)
|
269 |
-
)
|
270 |
);
|
271 |
|
272 |
-
$query['meta_query'][0]['key'] = '_wp_attached_file';
|
273 |
-
$ids
|
274 |
|
275 |
foreach ( $ids as $id ) {
|
276 |
-
$attachment_image = wp_get_attachment_image_src( $id, 'full' );
|
277 |
-
if ( $url == array_shift( $attachment_image ) || $url == str_replace( 'https://', 'http://', array_shift( $attachment_image ) ) ) {
|
278 |
return $id;
|
279 |
}
|
280 |
}
|
281 |
-
$query['meta_query'][0]['key'] = '_wp_attachment_metadata';
|
282 |
-
$ids
|
283 |
|
284 |
foreach ( $ids as $id ) {
|
285 |
|
286 |
-
$meta = wp_get_attachment_metadata( $id );
|
287 |
-
if ( ! isset( $meta['sizes'] ) ) {
|
288 |
continue;
|
289 |
}
|
290 |
|
291 |
-
foreach ( (array)
|
292 |
-
if ( $values['file'] == $file && $url == str_replace( 'https://', 'http://', array_shift( wp_get_attachment_image_src( $id, $size ) ) ) ) {
|
293 |
|
294 |
return $id;
|
295 |
}
|
@@ -300,7 +294,7 @@ if ( ! function_exists( 'yit_plugin_get_attachment_id' ) ) {
|
|
300 |
}
|
301 |
}
|
302 |
|
303 |
-
if ( ! function_exists( 'yit_enqueue_script' ) ) {
|
304 |
/**
|
305 |
* Enqueues script.
|
306 |
*
|
@@ -310,19 +304,18 @@ if ( ! function_exists( 'yit_enqueue_script' ) ) {
|
|
310 |
* @author Simone D'Amico <simone.damico@yithemes.com>
|
311 |
* @see yit_register_script() For parameter information.
|
312 |
*/
|
313 |
-
function yit_enqueue_script( $handle, $src, $deps = array(), $ver = false, $in_footer = true ) {
|
314 |
|
315 |
-
if ( function_exists( 'YIT_Asset' ) && ! is_admin() ) {
|
316 |
$enqueue = true;
|
317 |
-
YIT_Asset()->set( 'script', $handle, compact( 'src', 'deps', 'ver', 'in_footer', 'enqueue' ) );
|
318 |
-
}
|
319 |
-
|
320 |
-
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
|
321 |
}
|
322 |
}
|
323 |
}
|
324 |
|
325 |
-
if ( ! function_exists( 'yit_enqueue_style' ) ) {
|
326 |
/**
|
327 |
* Enqueues style.
|
328 |
*
|
@@ -332,54 +325,53 @@ if ( ! function_exists( 'yit_enqueue_style' ) ) {
|
|
332 |
* @author Simone D'Amico <simone.damico@yithemes.com>
|
333 |
* @see yit_register_style() For parameter information.
|
334 |
*/
|
335 |
-
function yit_enqueue_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
|
336 |
|
337 |
-
if ( function_exists( 'YIT_Asset' ) ) {
|
338 |
$enqueue = true;
|
339 |
-
$who = YIT_Asset()->get_stylesheet_handle( get_stylesheet_uri(), 'style' );
|
340 |
$where = 'before';
|
341 |
|
342 |
-
if( false == $who ){
|
343 |
$who = '';
|
344 |
}
|
345 |
|
346 |
-
YIT_Asset()->set( 'style', $handle, compact( 'src', 'deps', 'ver', 'media', 'enqueue' ), $where, $who );
|
347 |
-
}
|
348 |
-
|
349 |
-
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
|
350 |
}
|
351 |
}
|
352 |
}
|
353 |
|
354 |
-
if ( ! function_exists( 'yit_get_post_meta' ) ) {
|
355 |
/**
|
356 |
* Retrieve the value of a metabox.
|
357 |
*
|
358 |
* This function retrieve the value of a metabox attached to a post. It return either a single value or an array.
|
359 |
*
|
360 |
-
* @param int $id
|
361 |
-
* @param string $meta
|
362 |
*
|
363 |
* @return mixed Single value or array
|
364 |
* @since 2.0.0
|
365 |
*/
|
366 |
-
function yit_get_post_meta( $id, $meta ) {
|
367 |
-
if ( ! strpos( $meta, '[' ) ) {
|
368 |
-
return get_post_meta( $id, $meta, true );
|
369 |
}
|
370 |
|
371 |
-
$sub_meta = explode( '[', $meta );
|
372 |
|
373 |
-
$meta = get_post_meta( $id, $meta, true );
|
374 |
-
for ( $i = 0; $i < count( $sub_meta ); $i ++ ) {
|
375 |
-
$meta = $meta[rtrim( $sub_meta[$i], ']' )];
|
376 |
}
|
377 |
|
378 |
return $meta;
|
379 |
}
|
380 |
}
|
381 |
|
382 |
-
if ( ! function_exists( 'yit_string' ) ) {
|
383 |
/**
|
384 |
* Simple echo a string, with a before and after string, only if the main string is not empty.
|
385 |
*
|
@@ -391,10 +383,10 @@ if ( ! function_exists( 'yit_string' ) ) {
|
|
391 |
* @return string The complete string, if the main string is not empty or null
|
392 |
* @since 2.0.0
|
393 |
*/
|
394 |
-
function yit_string( $before = '', $string = '', $after = '', $echo = true ) {
|
395 |
$html = '';
|
396 |
|
397 |
-
if ( $string != '' AND ! is_null( $string ) ) {
|
398 |
$html = $before . $string . $after;
|
399 |
}
|
400 |
|
@@ -407,7 +399,7 @@ if ( ! function_exists( 'yit_string' ) ) {
|
|
407 |
}
|
408 |
|
409 |
|
410 |
-
if ( ! function_exists( 'yit_pagination' ) ) {
|
411 |
/**
|
412 |
* Print pagination
|
413 |
*
|
@@ -417,12 +409,12 @@ if ( ! function_exists( 'yit_pagination' ) ) {
|
|
417 |
* @return string
|
418 |
* @since 2.0.0
|
419 |
*/
|
420 |
-
function yit_pagination( $pages = '', $range = 10 ) {
|
421 |
$showitems = ( $range * 2 ) + 1;
|
422 |
|
423 |
-
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : false;
|
424 |
if ( $paged === false ) {
|
425 |
-
$paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : false;
|
426 |
}
|
427 |
if ( $paged === false ) {
|
428 |
$paged = 1;
|
@@ -446,60 +438,60 @@ if ( ! function_exists( 'yit_pagination' ) ) {
|
|
446 |
if ( 1 != $pages ) {
|
447 |
$html .= "<div class='general-pagination clearfix'>";
|
448 |
if ( $paged > 2 ) {
|
449 |
-
$html .= sprintf( '<a class="%s" href="%s">«</a>', 'yit_pagination_first', get_pagenum_link( 1 ) );
|
450 |
}
|
451 |
if ( $paged > 1 ) {
|
452 |
-
$html .= sprintf( '<a class="%s" href="%s">‹</a>', 'yit_pagination_previous', get_pagenum_link( $paged - 1 ) );
|
453 |
}
|
454 |
|
455 |
for ( $i = 1; $i <= $pages; $i ++ ) {
|
456 |
if ( 1 != $pages && ( ! ( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) {
|
457 |
$class = ( $paged == $i ) ? " class='selected'" : '';
|
458 |
-
$html .= "<a href='" . get_pagenum_link( $i ) . "'$class >$i</a>";
|
459 |
}
|
460 |
}
|
461 |
|
462 |
if ( $paged < $pages ) {
|
463 |
-
$html .= sprintf( '<a class="%s" href="%s">›</a>', 'yit_pagination_next', get_pagenum_link( $paged + 1 ) );
|
464 |
}
|
465 |
if ( $paged < $pages - 1 ) {
|
466 |
-
$html .= sprintf( '<a class="%s" href="%s">»</a>', 'yit_pagination_last', get_pagenum_link( $pages ) );
|
467 |
}
|
468 |
|
469 |
$html .= "</div>\n";
|
470 |
}
|
471 |
|
472 |
-
echo apply_filters( 'yit_pagination_html', $html );
|
473 |
}
|
474 |
}
|
475 |
|
476 |
-
if ( ! function_exists( 'yit_registered_sidebars' ) ) {
|
477 |
/**
|
478 |
* Retrieve all registered sidebars
|
479 |
*
|
480 |
* @return array
|
481 |
* @since 2.0.0
|
482 |
*/
|
483 |
-
function yit_registered_sidebars() {
|
484 |
global $wp_registered_sidebars;
|
485 |
|
486 |
-
$return = array();
|
487 |
|
488 |
if ( empty( $wp_registered_sidebars ) ) {
|
489 |
-
$return = array( '' => '' );
|
490 |
}
|
491 |
|
492 |
-
foreach ( ( array )
|
493 |
-
$return[$the_['name']] = $the_['name'];
|
494 |
}
|
495 |
|
496 |
-
ksort( $return );
|
497 |
|
498 |
return $return;
|
499 |
}
|
500 |
}
|
501 |
|
502 |
-
if ( ! function_exists( 'yit_layout_option' ) ) {
|
503 |
/**
|
504 |
* Retrieve a layout option
|
505 |
*
|
@@ -511,20 +503,18 @@ if ( ! function_exists( 'yit_layout_option' ) ) {
|
|
511 |
* @return array
|
512 |
* @since 2.0.0
|
513 |
*/
|
514 |
-
function yit_layout_option( $key, $id = false, $type = "post", $model = "post_type" ) {
|
515 |
|
516 |
$option = '';
|
517 |
|
518 |
-
if ( defined( 'YIT' ) ) {
|
519 |
-
$option = YIT_Layout_Panel()->get_option( $key, $id, $type, $model );
|
520 |
-
}
|
521 |
-
|
522 |
-
if ( ! $id && ( is_single() || is_page() ) ) {
|
523 |
global $post;
|
524 |
$id = $post->ID;
|
525 |
-
}
|
526 |
-
|
527 |
-
$option = get_post_meta( $id, $key );
|
528 |
}
|
529 |
}
|
530 |
|
@@ -532,32 +522,31 @@ if ( ! function_exists( 'yit_layout_option' ) ) {
|
|
532 |
}
|
533 |
}
|
534 |
|
535 |
-
if ( ! function_exists( 'yit_curPageURL' ) ) {
|
536 |
/**
|
537 |
* Retrieve the current complete url
|
538 |
*
|
539 |
* @since 1.0
|
540 |
*/
|
541 |
-
function yit_curPageURL() {
|
542 |
$pageURL = 'http';
|
543 |
-
if ( isset( $_SERVER["HTTPS"] ) AND $_SERVER["HTTPS"] == "on" ) {
|
544 |
$pageURL .= "s";
|
545 |
}
|
546 |
|
547 |
$pageURL .= "://";
|
548 |
|
549 |
-
if ( isset( $_SERVER["SERVER_PORT"] ) AND $_SERVER["SERVER_PORT"] != "80" ) {
|
550 |
-
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
|
551 |
-
}
|
552 |
-
|
553 |
-
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
|
554 |
}
|
555 |
|
556 |
return $pageURL;
|
557 |
}
|
558 |
}
|
559 |
|
560 |
-
if ( ! function_exists( 'yit_get_excluded_categories' ) ) {
|
561 |
/**
|
562 |
*
|
563 |
* Retrieve the escluded categories, set on Theme Options
|
@@ -569,7 +558,7 @@ if ( ! function_exists( 'yit_get_excluded_categories' ) ) {
|
|
569 |
* @since 2.0.0
|
570 |
*/
|
571 |
|
572 |
-
function yit_get_excluded_categories( $k = 1 ) {
|
573 |
|
574 |
global $post;
|
575 |
|
@@ -577,20 +566,20 @@ if ( ! function_exists( 'yit_get_excluded_categories' ) ) {
|
|
577 |
return;
|
578 |
}
|
579 |
|
580 |
-
$cf_cats = get_post_meta( $post->ID, 'blog-cats', true);
|
581 |
|
582 |
-
if ( ! empty( $cf_cats ) ){
|
583 |
return $cf_cats;
|
584 |
}
|
585 |
|
586 |
-
$cats = function_exists( 'yit_get_option' ) ? yit_get_option( 'blog-excluded-cats' ) : '';
|
587 |
|
588 |
|
589 |
-
if ( ! is_array( $cats ) || empty( $cats ) || ! isset( $cats[$k] ) ) {
|
590 |
return;
|
591 |
}
|
592 |
|
593 |
-
$cats = array_map( 'trim', $cats[$k] );
|
594 |
|
595 |
$i = 0;
|
596 |
$query = '';
|
@@ -600,15 +589,15 @@ if ( ! function_exists( 'yit_get_excluded_categories' ) ) {
|
|
600 |
$i ++;
|
601 |
}
|
602 |
|
603 |
-
ltrim( ',', $query );
|
604 |
|
605 |
return $query;
|
606 |
}
|
607 |
}
|
608 |
|
609 |
|
610 |
-
if ( ! function_exists( 'yit_add_extra_theme_headers' ) ) {
|
611 |
-
add_filter( 'extra_theme_headers', 'yit_add_extra_theme_headers' );
|
612 |
|
613 |
/**
|
614 |
* Check the framework core version
|
@@ -619,13 +608,14 @@ if ( ! function_exists( 'yit_add_extra_theme_headers' ) ) {
|
|
619 |
* @since 2.0.0
|
620 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
621 |
*/
|
622 |
-
function yit_add_extra_theme_headers( $headers ) {
|
623 |
$headers[] = 'Core Framework Version';
|
|
|
624 |
return $headers;
|
625 |
}
|
626 |
}
|
627 |
|
628 |
-
if ( ! function_exists( 'yit_check_plugin_support' ) ) {
|
629 |
/**
|
630 |
* Check the framework core version
|
631 |
*
|
@@ -633,75 +623,76 @@ if ( ! function_exists( 'yit_check_plugin_support' ) ) {
|
|
633 |
* @since 2.0.0
|
634 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
635 |
*/
|
636 |
-
function yit_check_plugin_support() {
|
637 |
|
638 |
-
$headers['core'] = wp_get_theme()->get( 'Core Framework Version' );
|
639 |
-
$headers['author'] = wp_get_theme()->get( 'Author' );
|
640 |
|
641 |
-
if( ! $headers['core'] && defined( 'YIT_CORE_VERSION' ) ) {
|
642 |
-
$headers['core'] = YIT_CORE_VERSION;
|
643 |
}
|
644 |
|
645 |
-
if ( ( ! empty( $headers['core'] ) && version_compare( $headers['core'], '2.0.0', '<=' ) ) || $headers['author'] != 'Your Inspiration Themes' ) {
|
646 |
return true;
|
647 |
-
}
|
648 |
-
else {
|
649 |
return false;
|
650 |
}
|
651 |
}
|
652 |
}
|
653 |
|
654 |
-
if( !function_exists( 'yit_ie_version' ) ) {
|
655 |
/**
|
656 |
* Retrieve IE version.
|
657 |
*
|
658 |
* @return int|float
|
659 |
-
* @since
|
660 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
661 |
*/
|
662 |
-
function yit_ie_version() {
|
663 |
-
preg_match('/MSIE ([0-9]\.[0-9])/'
|
664 |
-
if ( ! isset( $reg[1] ) )
|
665 |
-
|
666 |
-
else
|
667 |
-
|
|
|
668 |
}
|
669 |
}
|
670 |
|
671 |
-
if( ! function_exists( 'yit_avoid_duplicate' ) ) {
|
672 |
/**
|
673 |
* Check if something exists. If yes, add a -N to the value where N is a number.
|
674 |
*
|
675 |
-
* @param mixed
|
676 |
-
* @param array
|
677 |
* @param string $check
|
|
|
678 |
* @return mixed
|
679 |
-
* @since
|
680 |
* @author Antonino Scarf� <antonino.scarfi@yithemes.com>
|
681 |
*/
|
682 |
-
function yit_avoid_duplicate( $value, $array, $check = 'value' ) {
|
683 |
-
$match = array();
|
684 |
|
685 |
-
if( !is_array( $array ) ) {
|
686 |
return $value;
|
687 |
}
|
688 |
|
689 |
-
if ( ( $check == 'value' && ! in_array( $value, $array ) ) || ( $check == 'key' && ! isset( $array[$value] ) ) ) {
|
690 |
return $value;
|
691 |
} else {
|
692 |
-
if ( ! preg_match( '/([a-z]+)-([0-9]+)/', $value, $match ) ) {
|
693 |
$i = 2;
|
694 |
} else {
|
695 |
-
$i
|
696 |
-
$value = $match[1];
|
697 |
}
|
698 |
|
699 |
-
return yit_avoid_duplicate( $value . '-' . $i, $array, $check );
|
700 |
}
|
701 |
}
|
702 |
}
|
703 |
|
704 |
-
if( !function_exists( 'yit_title_special_characters' ) ) {
|
705 |
/**
|
706 |
* The chars used in yit_decode_title() and yit_encode_title()
|
707 |
*
|
@@ -709,22 +700,23 @@ if( !function_exists( 'yit_title_special_characters' ) ) {
|
|
709 |
* string: This is [my title] with | a new line
|
710 |
* return: This is <span class="highlight">my title</span> with <br /> a new line
|
711 |
*
|
712 |
-
* @param string
|
|
|
713 |
* @return string The html
|
714 |
*
|
715 |
* @since 1.0
|
716 |
*/
|
717 |
-
function yit_title_special_characters( $chars )
|
718 |
-
|
719 |
-
return array_merge( $chars, array(
|
720 |
'/[=\[](.*?)[=\]]/' => '<span class="title-highlight">$1</span>',
|
721 |
-
'/\|/'
|
722 |
) );
|
723 |
}
|
724 |
-
|
|
|
725 |
}
|
726 |
|
727 |
-
if( !function_exists( 'yit_decode_title' ) ) {
|
728 |
/**
|
729 |
* Change some special characters to put easily html into a string
|
730 |
*
|
@@ -732,20 +724,20 @@ if( !function_exists( 'yit_decode_title' ) ) {
|
|
732 |
* string: This is [my title] with | a new line
|
733 |
* return: This is <span class="title-highlight">my title</span> with <br /> a new line
|
734 |
*
|
735 |
-
* @param string
|
|
|
736 |
* @return string The html
|
737 |
*
|
738 |
* @since 1.0
|
739 |
*/
|
740 |
-
function yit_decode_title( $title )
|
741 |
-
|
742 |
-
$replaces = apply_filters( 'yit_title_special_characters', array() );
|
743 |
|
744 |
-
return preg_replace( array_keys( $replaces ), array_values( $replaces ), $title );
|
745 |
}
|
746 |
}
|
747 |
|
748 |
-
if( !function_exists( 'yit_encode_title' ) ) {
|
749 |
/**
|
750 |
* Change some special characters to put easily html into a string
|
751 |
*
|
@@ -753,20 +745,20 @@ if( !function_exists( 'yit_encode_title' ) ) {
|
|
753 |
* string: This is [my title] with | a new line
|
754 |
* return: This is <span class="title-highlight">my title</span> with <br /> a new line
|
755 |
*
|
756 |
-
* @param string
|
|
|
757 |
* @return string The html
|
758 |
*
|
759 |
* @since 1.0
|
760 |
*/
|
761 |
-
function yit_encode_title( $title )
|
762 |
-
|
763 |
-
$replaces = apply_filters( 'yit_title_special_characters', array() );
|
764 |
|
765 |
-
return preg_replace( array_values( $replaces ), array_keys( $replaces ), $title );
|
766 |
}
|
767 |
}
|
768 |
|
769 |
-
if( !function_exists( 'yit_remove_chars_title' ) ) {
|
770 |
/**
|
771 |
* Change some special characters to put easily html into a string
|
772 |
*
|
@@ -774,30 +766,30 @@ if( !function_exists( 'yit_remove_chars_title' ) ) {
|
|
774 |
* string: This is [my title] with | a new line
|
775 |
* return: This is <span class="title-highlight">my title</span> with <br /> a new line
|
776 |
*
|
777 |
-
* @param string
|
|
|
778 |
* @return string The html
|
779 |
*
|
780 |
* @since 1.0
|
781 |
*/
|
782 |
-
function yit_remove_chars_title( $title )
|
783 |
-
|
784 |
-
$replaces = apply_filters( 'yit_title_special_characters', array() );
|
785 |
|
786 |
-
return preg_replace( array_keys( $replaces ), '$1', $title );
|
787 |
}
|
788 |
}
|
789 |
|
790 |
-
if( ! function_exists( 'is_shop_installed' ) ) {
|
791 |
/**
|
792 |
* Detect if there is a shop plugin installed
|
793 |
*
|
794 |
* @return bool
|
795 |
-
* @since
|
796 |
* @author Francesco Grasso <francesco.grasso@yithemes.com
|
797 |
*/
|
798 |
-
function is_shop_installed() {
|
799 |
global $woocommerce;
|
800 |
-
if( isset( $woocommerce ) || defined( 'JIGOSHOP_VERSION' ) ) {
|
801 |
return true;
|
802 |
} else {
|
803 |
return false;
|
@@ -805,7 +797,7 @@ if( ! function_exists( 'is_shop_installed' ) ) {
|
|
805 |
}
|
806 |
}
|
807 |
|
808 |
-
if ( ! function_exists( 'yit_load_js_file' ) ) {
|
809 |
/**
|
810 |
* Load .min.js file if WP_Debug is not defined
|
811 |
*
|
@@ -815,52 +807,52 @@ if ( ! function_exists( 'yit_load_js_file' ) ) {
|
|
815 |
* @since 2.0.0
|
816 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
817 |
*/
|
818 |
-
function yit_load_js_file( $filename ) {
|
819 |
|
820 |
-
if ( ! ( ( defined( 'WP_DEBUG' ) && WP_DEBUG ) || ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ) ) {
|
821 |
-
$filename = str_replace( '.js', '.min.js', $filename );
|
822 |
}
|
823 |
|
824 |
return $filename;
|
825 |
}
|
826 |
}
|
827 |
|
828 |
-
if ( ! function_exists( 'yit_wpml_register_string' ) ) {
|
829 |
/**
|
830 |
* Register a string in wpml trnslation
|
831 |
*
|
832 |
* @param $contenxt context name
|
833 |
-
* @param $name
|
834 |
-
* @param $value
|
835 |
*
|
836 |
* @since 2.0.0
|
837 |
* @author Andrea Frascaspata <andrea.frascaspata@yithemes.com>
|
838 |
*/
|
839 |
-
function yit_wpml_register_string( $contenxt
|
840 |
// wpml string translation
|
841 |
-
do_action( 'wpml_register_single_string', $contenxt, $name, $value );
|
842 |
}
|
843 |
}
|
844 |
|
845 |
-
if ( ! function_exists( 'yit_wpml_string_translate' ) ) {
|
846 |
/**
|
847 |
* Get a string translation
|
848 |
*
|
849 |
-
* @param $contenxt
|
850 |
-
* @param $name
|
851 |
* @param $default_value value to translate
|
852 |
*
|
853 |
* @return string the string translated
|
854 |
* @since 2.0.0
|
855 |
* @author Andrea Frascaspata <andrea.frascaspata@yithemes.com>
|
856 |
*/
|
857 |
-
function yit_wpml_string_translate( $contenxt, $name, $default_value ) {
|
858 |
-
return apply_filters( 'wpml_translate_single_string', $default_value, $contenxt, $name );
|
859 |
}
|
860 |
|
861 |
}
|
862 |
|
863 |
-
if ( ! function_exists( 'yit_wpml_object_id' ) ) {
|
864 |
/**
|
865 |
* Get id of post translation in current language
|
866 |
*
|
@@ -873,16 +865,49 @@ if ( ! function_exists( 'yit_wpml_object_id' ) ) {
|
|
873 |
* @since 2.0.0
|
874 |
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
|
875 |
*/
|
876 |
-
function yit_wpml_object_id( $element_id, $element_type = 'post', $return_original_if_missing = false, $ulanguage_code = null ) {
|
877 |
-
if( function_exists( '
|
878 |
-
return
|
879 |
-
}
|
880 |
-
|
881 |
-
|
882 |
-
}
|
883 |
-
else{
|
884 |
return $element_id;
|
885 |
}
|
886 |
}
|
887 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
888 |
}
|
8 |
* http://www.gnu.org/licenses/gpl-3.0.txt
|
9 |
*/
|
10 |
|
11 |
+
if ( ! defined ( 'ABSPATH' ) ) {
|
12 |
exit;
|
13 |
} // Exit if accessed directly
|
14 |
|
15 |
+
if ( ! function_exists ( 'yit_plugin_locate_template' ) ) {
|
16 |
/**
|
17 |
* Locate the templates and return the path of the file found
|
18 |
*
|
23 |
* @return string
|
24 |
* @since 2.0.0
|
25 |
*/
|
26 |
+
function yit_plugin_locate_template ( $plugin_basename, $path, $var = NULL ) {
|
27 |
|
28 |
$template_path = '/theme/templates/' . $path;
|
29 |
|
30 |
+
$located = locate_template ( array (
|
31 |
+
$template_path,
|
32 |
) );
|
33 |
|
34 |
if ( ! $located ) {
|
40 |
|
41 |
}
|
42 |
|
43 |
+
if ( ! function_exists ( 'yit_plugin_get_template' ) ) {
|
44 |
/**
|
45 |
* Retrieve a template file.
|
46 |
*
|
52 |
* @return string
|
53 |
* @since 2.0.0
|
54 |
*/
|
55 |
+
function yit_plugin_get_template ( $plugin_basename, $path, $var = null, $return = false ) {
|
56 |
|
57 |
+
$located = yit_plugin_locate_template ( $plugin_basename, $path, $var );
|
58 |
|
59 |
+
if ( $var && is_array ( $var ) ) {
|
60 |
+
extract ( $var );
|
61 |
}
|
62 |
|
63 |
if ( $return ) {
|
64 |
+
ob_start ();
|
65 |
}
|
66 |
|
67 |
// include file located
|
68 |
+
if ( file_exists ( $located ) ) {
|
69 |
+
include ( $located );
|
70 |
}
|
71 |
|
72 |
if ( $return ) {
|
73 |
+
return ob_get_clean ();
|
74 |
}
|
75 |
}
|
76 |
}
|
77 |
|
78 |
+
if ( ! function_exists ( 'yit_plugin_content' ) ) {
|
79 |
/**
|
80 |
* Return post content with read more link (if needed)
|
81 |
*
|
88 |
* @return string
|
89 |
* @since 2.0.0
|
90 |
*/
|
91 |
+
function yit_plugin_content ( $what = 'content', $limit = 25, $more_text = '', $split = '[...]', $in_paragraph = 'true' ) {
|
92 |
if ( $what == 'content' ) {
|
93 |
+
$content = get_the_content ( $more_text );
|
94 |
+
} else {
|
|
|
95 |
if ( $what == 'excerpt' ) {
|
96 |
+
$content = get_the_excerpt ();
|
97 |
+
} else {
|
|
|
98 |
$content = $what;
|
99 |
}
|
100 |
}
|
101 |
|
102 |
if ( $limit == 0 ) {
|
103 |
if ( $what == 'excerpt' ) {
|
104 |
+
$content = apply_filters ( 'the_excerpt', $content );
|
105 |
+
} else {
|
106 |
+
$content = preg_replace ( '/<img[^>]+./', '', $content ); //remove images
|
107 |
+
$content = apply_filters ( 'the_content', $content );
|
108 |
+
$content = str_replace ( ']]>', ']]>', $content );
|
|
|
109 |
}
|
110 |
|
111 |
return $content;
|
112 |
}
|
113 |
|
114 |
// remove the tag more from the content
|
115 |
+
if ( preg_match ( "/<(a)[^>]*class\s*=\s*(['\"])more-link\\2[^>]*>(.*?)<\/\\1>/", $content, $matches ) ) {
|
116 |
|
117 |
+
if ( strpos ( $matches[ 0 ], '[button' ) ) {
|
118 |
+
$more_link = str_replace ( 'href="#"', 'href="' . get_permalink () . '"', do_shortcode ( $matches[ 3 ] ) );
|
119 |
+
} else {
|
120 |
+
$more_link = $matches[ 0 ];
|
|
|
121 |
}
|
122 |
|
123 |
+
$content = str_replace ( $more_link, '', $content );
|
124 |
$split = '';
|
125 |
}
|
126 |
|
127 |
if ( empty( $content ) ) {
|
128 |
return;
|
129 |
}
|
130 |
+
$content = explode ( ' ', $content );
|
131 |
|
132 |
if ( ! empty( $more_text ) && ! isset( $more_link ) ) {
|
133 |
//array_pop( $content );
|
134 |
+
$more_link = strpos ( $more_text, '<a class="btn"' ) ? $more_text : '<a class="read-more' . apply_filters ( 'yit_simple_read_more_classes', ' ' ) . '" href="' . get_permalink () . '">' . $more_text . '</a>';
|
135 |
$split = '';
|
136 |
+
} elseif ( ! isset( $more_link ) ) {
|
|
|
137 |
$more_link = '';
|
138 |
}
|
139 |
|
140 |
// split
|
141 |
+
if ( count ( $content ) >= $limit ) {
|
142 |
$split_content = '';
|
143 |
for ( $i = 0; $i < $limit; $i ++ ) {
|
144 |
+
$split_content .= $content[ $i ] . ' ';
|
145 |
}
|
146 |
|
147 |
$content = $split_content . $split;
|
148 |
+
} else {
|
149 |
+
$content = implode ( " ", $content );
|
|
|
150 |
}
|
151 |
|
152 |
// TAGS UNCLOSED
|
153 |
+
$tags = array ();
|
154 |
// get all tags opened
|
155 |
+
preg_match_all ( "/(<([\w]+)[^>]*>)/", $content, $tags_opened, PREG_SET_ORDER );
|
156 |
foreach ( $tags_opened as $tag ) {
|
157 |
+
$tags[] = $tag[ 2 ];
|
158 |
}
|
159 |
|
160 |
// get all tags closed and remove it from the tags opened.. the rest will be closed at the end of the content
|
161 |
+
preg_match_all ( "/(<\/([\w]+)[^>]*>)/", $content, $tags_closed, PREG_SET_ORDER );
|
162 |
foreach ( $tags_closed as $tag ) {
|
163 |
+
unset( $tags[ array_search ( $tag[ 2 ], $tags ) ] );
|
164 |
}
|
165 |
|
166 |
// close the tags
|
172 |
|
173 |
//$content = preg_replace( '/\[.+\]/', '', $content );
|
174 |
if ( $in_paragraph == true ): $content .= $more_link; endif;
|
175 |
+
$content = preg_replace ( '/<img[^>]+./', '', $content ); //remove images
|
176 |
+
$content = apply_filters ( 'the_content', $content );
|
177 |
+
$content = str_replace ( ']]>', ']]>', $content ); // echo str_replace( array( '<', '>' ), array( '<', '>' ), $content );
|
178 |
if ( $in_paragraph == false ): $content .= $more_link; endif;
|
179 |
|
180 |
return $content;
|
181 |
}
|
182 |
}
|
183 |
|
184 |
+
if ( ! function_exists ( 'yit_plugin_string' ) ) {
|
185 |
/**
|
186 |
* Simple echo a string, with a before and after string, only if the main string is not empty.
|
187 |
*
|
193 |
* @return string The complete string, if the main string is not empty or null
|
194 |
* @since 2.0.0
|
195 |
*/
|
196 |
+
function yit_plugin_string ( $before = '', $string = '', $after = '', $echo = true ) {
|
197 |
$html = '';
|
198 |
|
199 |
+
if ( $string != '' AND ! is_null ( $string ) ) {
|
200 |
$html = $before . $string . $after;
|
201 |
}
|
202 |
|
208 |
}
|
209 |
}
|
210 |
|
211 |
+
if ( ! function_exists ( 'yit_plugin_decode_title' ) ) {
|
212 |
/**
|
213 |
* Change some special characters to put easily html into a string
|
214 |
*
|
222 |
*
|
223 |
* @since 1.0
|
224 |
*/
|
225 |
+
function yit_plugin_decode_title ( $title ) {
|
226 |
+
$replaces = apply_filters ( 'yit_title_special_characters', array () );
|
227 |
|
228 |
+
return preg_replace ( array_keys ( $replaces ), array_values ( $replaces ), $title );
|
229 |
}
|
230 |
}
|
231 |
|
232 |
+
if ( ! function_exists ( 'yit_plugin_get_attachment_id' ) ) {
|
233 |
|
234 |
/**
|
235 |
* Return the ID of an attachment.
|
241 |
* @since 2.0.0
|
242 |
*/
|
243 |
|
244 |
+
function yit_plugin_get_attachment_id ( $url ) {
|
245 |
|
246 |
+
$upload_dir = wp_upload_dir ();
|
247 |
+
$dir = trailingslashit ( $upload_dir[ 'baseurl' ] );
|
248 |
|
249 |
+
if ( false === strpos ( $url, $dir ) ) {
|
250 |
return false;
|
251 |
}
|
252 |
|
253 |
+
$file = basename ( $url );
|
254 |
|
255 |
+
$query = array (
|
256 |
'post_type' => 'attachment',
|
257 |
'fields' => 'ids',
|
258 |
+
'meta_query' => array (
|
259 |
+
array (
|
260 |
'value' => $file,
|
261 |
'compare' => 'LIKE',
|
262 |
+
),
|
263 |
+
),
|
264 |
);
|
265 |
|
266 |
+
$query[ 'meta_query' ][ 0 ][ 'key' ] = '_wp_attached_file';
|
267 |
+
$ids = get_posts ( $query );
|
268 |
|
269 |
foreach ( $ids as $id ) {
|
270 |
+
$attachment_image = wp_get_attachment_image_src ( $id, 'full' );
|
271 |
+
if ( $url == array_shift ( $attachment_image ) || $url == str_replace ( 'https://', 'http://', array_shift ( $attachment_image ) ) ) {
|
272 |
return $id;
|
273 |
}
|
274 |
}
|
275 |
+
$query[ 'meta_query' ][ 0 ][ 'key' ] = '_wp_attachment_metadata';
|
276 |
+
$ids = get_posts ( $query );
|
277 |
|
278 |
foreach ( $ids as $id ) {
|
279 |
|
280 |
+
$meta = wp_get_attachment_metadata ( $id );
|
281 |
+
if ( ! isset( $meta[ 'sizes' ] ) ) {
|
282 |
continue;
|
283 |
}
|
284 |
|
285 |
+
foreach ( (array)$meta[ 'sizes' ] as $size => $values ) {
|
286 |
+
if ( $values[ 'file' ] == $file && $url == str_replace ( 'https://', 'http://', array_shift ( wp_get_attachment_image_src ( $id, $size ) ) ) ) {
|
287 |
|
288 |
return $id;
|
289 |
}
|
294 |
}
|
295 |
}
|
296 |
|
297 |
+
if ( ! function_exists ( 'yit_enqueue_script' ) ) {
|
298 |
/**
|
299 |
* Enqueues script.
|
300 |
*
|
304 |
* @author Simone D'Amico <simone.damico@yithemes.com>
|
305 |
* @see yit_register_script() For parameter information.
|
306 |
*/
|
307 |
+
function yit_enqueue_script ( $handle, $src, $deps = array (), $ver = false, $in_footer = true ) {
|
308 |
|
309 |
+
if ( function_exists ( 'YIT_Asset' ) && ! is_admin () ) {
|
310 |
$enqueue = true;
|
311 |
+
YIT_Asset ()->set ( 'script', $handle, compact ( 'src', 'deps', 'ver', 'in_footer', 'enqueue' ) );
|
312 |
+
} else {
|
313 |
+
wp_enqueue_script ( $handle, $src, $deps, $ver, $in_footer );
|
|
|
314 |
}
|
315 |
}
|
316 |
}
|
317 |
|
318 |
+
if ( ! function_exists ( 'yit_enqueue_style' ) ) {
|
319 |
/**
|
320 |
* Enqueues style.
|
321 |
*
|
325 |
* @author Simone D'Amico <simone.damico@yithemes.com>
|
326 |
* @see yit_register_style() For parameter information.
|
327 |
*/
|
328 |
+
function yit_enqueue_style ( $handle, $src, $deps = array (), $ver = false, $media = 'all' ) {
|
329 |
|
330 |
+
if ( function_exists ( 'YIT_Asset' ) ) {
|
331 |
$enqueue = true;
|
332 |
+
$who = YIT_Asset ()->get_stylesheet_handle ( get_stylesheet_uri (), 'style' );
|
333 |
$where = 'before';
|
334 |
|
335 |
+
if ( false == $who ) {
|
336 |
$who = '';
|
337 |
}
|
338 |
|
339 |
+
YIT_Asset ()->set ( 'style', $handle, compact ( 'src', 'deps', 'ver', 'media', 'enqueue' ), $where, $who );
|
340 |
+
} else {
|
341 |
+
wp_enqueue_style ( $handle, $src, $deps, $ver, $media );
|
|
|
342 |
}
|
343 |
}
|
344 |
}
|
345 |
|
346 |
+
if ( ! function_exists ( 'yit_get_post_meta' ) ) {
|
347 |
/**
|
348 |
* Retrieve the value of a metabox.
|
349 |
*
|
350 |
* This function retrieve the value of a metabox attached to a post. It return either a single value or an array.
|
351 |
*
|
352 |
+
* @param int $id Post ID.
|
353 |
+
* @param string $meta The meta key to retrieve.
|
354 |
*
|
355 |
* @return mixed Single value or array
|
356 |
* @since 2.0.0
|
357 |
*/
|
358 |
+
function yit_get_post_meta ( $id, $meta ) {
|
359 |
+
if ( ! strpos ( $meta, '[' ) ) {
|
360 |
+
return get_post_meta ( $id, $meta, true );
|
361 |
}
|
362 |
|
363 |
+
$sub_meta = explode ( '[', $meta );
|
364 |
|
365 |
+
$meta = get_post_meta ( $id, $meta, true );
|
366 |
+
for ( $i = 0; $i < count ( $sub_meta ); $i ++ ) {
|
367 |
+
$meta = $meta[ rtrim ( $sub_meta[ $i ], ']' ) ];
|
368 |
}
|
369 |
|
370 |
return $meta;
|
371 |
}
|
372 |
}
|
373 |
|
374 |
+
if ( ! function_exists ( 'yit_string' ) ) {
|
375 |
/**
|
376 |
* Simple echo a string, with a before and after string, only if the main string is not empty.
|
377 |
*
|
383 |
* @return string The complete string, if the main string is not empty or null
|
384 |
* @since 2.0.0
|
385 |
*/
|
386 |
+
function yit_string ( $before = '', $string = '', $after = '', $echo = true ) {
|
387 |
$html = '';
|
388 |
|
389 |
+
if ( $string != '' AND ! is_null ( $string ) ) {
|
390 |
$html = $before . $string . $after;
|
391 |
}
|
392 |
|
399 |
}
|
400 |
|
401 |
|
402 |
+
if ( ! function_exists ( 'yit_pagination' ) ) {
|
403 |
/**
|
404 |
* Print pagination
|
405 |
*
|
409 |
* @return string
|
410 |
* @since 2.0.0
|
411 |
*/
|
412 |
+
function yit_pagination ( $pages = '', $range = 10 ) {
|
413 |
$showitems = ( $range * 2 ) + 1;
|
414 |
|
415 |
+
$paged = ( get_query_var ( 'paged' ) ) ? get_query_var ( 'paged' ) : false;
|
416 |
if ( $paged === false ) {
|
417 |
+
$paged = ( get_query_var ( 'page' ) ) ? get_query_var ( 'page' ) : false;
|
418 |
}
|
419 |
if ( $paged === false ) {
|
420 |
$paged = 1;
|
438 |
if ( 1 != $pages ) {
|
439 |
$html .= "<div class='general-pagination clearfix'>";
|
440 |
if ( $paged > 2 ) {
|
441 |
+
$html .= sprintf ( '<a class="%s" href="%s">«</a>', 'yit_pagination_first', get_pagenum_link ( 1 ) );
|
442 |
}
|
443 |
if ( $paged > 1 ) {
|
444 |
+
$html .= sprintf ( '<a class="%s" href="%s">‹</a>', 'yit_pagination_previous', get_pagenum_link ( $paged - 1 ) );
|
445 |
}
|
446 |
|
447 |
for ( $i = 1; $i <= $pages; $i ++ ) {
|
448 |
if ( 1 != $pages && ( ! ( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) {
|
449 |
$class = ( $paged == $i ) ? " class='selected'" : '';
|
450 |
+
$html .= "<a href='" . get_pagenum_link ( $i ) . "'$class >$i</a>";
|
451 |
}
|
452 |
}
|
453 |
|
454 |
if ( $paged < $pages ) {
|
455 |
+
$html .= sprintf ( '<a class="%s" href="%s">›</a>', 'yit_pagination_next', get_pagenum_link ( $paged + 1 ) );
|
456 |
}
|
457 |
if ( $paged < $pages - 1 ) {
|
458 |
+
$html .= sprintf ( '<a class="%s" href="%s">»</a>', 'yit_pagination_last', get_pagenum_link ( $pages ) );
|
459 |
}
|
460 |
|
461 |
$html .= "</div>\n";
|
462 |
}
|
463 |
|
464 |
+
echo apply_filters ( 'yit_pagination_html', $html );
|
465 |
}
|
466 |
}
|
467 |
|
468 |
+
if ( ! function_exists ( 'yit_registered_sidebars' ) ) {
|
469 |
/**
|
470 |
* Retrieve all registered sidebars
|
471 |
*
|
472 |
* @return array
|
473 |
* @since 2.0.0
|
474 |
*/
|
475 |
+
function yit_registered_sidebars () {
|
476 |
global $wp_registered_sidebars;
|
477 |
|
478 |
+
$return = array ();
|
479 |
|
480 |
if ( empty( $wp_registered_sidebars ) ) {
|
481 |
+
$return = array ( '' => '' );
|
482 |
}
|
483 |
|
484 |
+
foreach ( ( array )$wp_registered_sidebars as $the_ ) {
|
485 |
+
$return[ $the_[ 'name' ] ] = $the_[ 'name' ];
|
486 |
}
|
487 |
|
488 |
+
ksort ( $return );
|
489 |
|
490 |
return $return;
|
491 |
}
|
492 |
}
|
493 |
|
494 |
+
if ( ! function_exists ( 'yit_layout_option' ) ) {
|
495 |
/**
|
496 |
* Retrieve a layout option
|
497 |
*
|
503 |
* @return array
|
504 |
* @since 2.0.0
|
505 |
*/
|
506 |
+
function yit_layout_option ( $key, $id = false, $type = "post", $model = "post_type" ) {
|
507 |
|
508 |
$option = '';
|
509 |
|
510 |
+
if ( defined ( 'YIT' ) ) {
|
511 |
+
$option = YIT_Layout_Panel ()->get_option ( $key, $id, $type, $model );
|
512 |
+
} else {
|
513 |
+
if ( ! $id && ( is_single () || is_page () ) ) {
|
|
|
514 |
global $post;
|
515 |
$id = $post->ID;
|
516 |
+
} elseif ( $id != 'all' ) {
|
517 |
+
$option = get_post_meta ( $id, $key );
|
|
|
518 |
}
|
519 |
}
|
520 |
|
522 |
}
|
523 |
}
|
524 |
|
525 |
+
if ( ! function_exists ( 'yit_curPageURL' ) ) {
|
526 |
/**
|
527 |
* Retrieve the current complete url
|
528 |
*
|
529 |
* @since 1.0
|
530 |
*/
|
531 |
+
function yit_curPageURL () {
|
532 |
$pageURL = 'http';
|
533 |
+
if ( isset( $_SERVER[ "HTTPS" ] ) AND $_SERVER[ "HTTPS" ] == "on" ) {
|
534 |
$pageURL .= "s";
|
535 |
}
|
536 |
|
537 |
$pageURL .= "://";
|
538 |
|
539 |
+
if ( isset( $_SERVER[ "SERVER_PORT" ] ) AND $_SERVER[ "SERVER_PORT" ] != "80" ) {
|
540 |
+
$pageURL .= $_SERVER[ "SERVER_NAME" ] . ":" . $_SERVER[ "SERVER_PORT" ] . $_SERVER[ "REQUEST_URI" ];
|
541 |
+
} else {
|
542 |
+
$pageURL .= $_SERVER[ "SERVER_NAME" ] . $_SERVER[ "REQUEST_URI" ];
|
|
|
543 |
}
|
544 |
|
545 |
return $pageURL;
|
546 |
}
|
547 |
}
|
548 |
|
549 |
+
if ( ! function_exists ( 'yit_get_excluded_categories' ) ) {
|
550 |
/**
|
551 |
*
|
552 |
* Retrieve the escluded categories, set on Theme Options
|
558 |
* @since 2.0.0
|
559 |
*/
|
560 |
|
561 |
+
function yit_get_excluded_categories ( $k = 1 ) {
|
562 |
|
563 |
global $post;
|
564 |
|
566 |
return;
|
567 |
}
|
568 |
|
569 |
+
$cf_cats = get_post_meta ( $post->ID, 'blog-cats', true );
|
570 |
|
571 |
+
if ( ! empty( $cf_cats ) ) {
|
572 |
return $cf_cats;
|
573 |
}
|
574 |
|
575 |
+
$cats = function_exists ( 'yit_get_option' ) ? yit_get_option ( 'blog-excluded-cats' ) : '';
|
576 |
|
577 |
|
578 |
+
if ( ! is_array ( $cats ) || empty( $cats ) || ! isset( $cats[ $k ] ) ) {
|
579 |
return;
|
580 |
}
|
581 |
|
582 |
+
$cats = array_map ( 'trim', $cats[ $k ] );
|
583 |
|
584 |
$i = 0;
|
585 |
$query = '';
|
589 |
$i ++;
|
590 |
}
|
591 |
|
592 |
+
ltrim ( ',', $query );
|
593 |
|
594 |
return $query;
|
595 |
}
|
596 |
}
|
597 |
|
598 |
|
599 |
+
if ( ! function_exists ( 'yit_add_extra_theme_headers' ) ) {
|
600 |
+
add_filter ( 'extra_theme_headers', 'yit_add_extra_theme_headers' );
|
601 |
|
602 |
/**
|
603 |
* Check the framework core version
|
608 |
* @since 2.0.0
|
609 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
610 |
*/
|
611 |
+
function yit_add_extra_theme_headers ( $headers ) {
|
612 |
$headers[] = 'Core Framework Version';
|
613 |
+
|
614 |
return $headers;
|
615 |
}
|
616 |
}
|
617 |
|
618 |
+
if ( ! function_exists ( 'yit_check_plugin_support' ) ) {
|
619 |
/**
|
620 |
* Check the framework core version
|
621 |
*
|
623 |
* @since 2.0.0
|
624 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
625 |
*/
|
626 |
+
function yit_check_plugin_support () {
|
627 |
|
628 |
+
$headers[ 'core' ] = wp_get_theme ()->get ( 'Core Framework Version' );
|
629 |
+
$headers[ 'author' ] = wp_get_theme ()->get ( 'Author' );
|
630 |
|
631 |
+
if ( ! $headers[ 'core' ] && defined ( 'YIT_CORE_VERSION' ) ) {
|
632 |
+
$headers[ 'core' ] = YIT_CORE_VERSION;
|
633 |
}
|
634 |
|
635 |
+
if ( ( ! empty( $headers[ 'core' ] ) && version_compare ( $headers[ 'core' ], '2.0.0', '<=' ) ) || $headers[ 'author' ] != 'Your Inspiration Themes' ) {
|
636 |
return true;
|
637 |
+
} else {
|
|
|
638 |
return false;
|
639 |
}
|
640 |
}
|
641 |
}
|
642 |
|
643 |
+
if ( ! function_exists ( 'yit_ie_version' ) ) {
|
644 |
/**
|
645 |
* Retrieve IE version.
|
646 |
*
|
647 |
* @return int|float
|
648 |
+
* @since 1.0.0
|
649 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
650 |
*/
|
651 |
+
function yit_ie_version () {
|
652 |
+
preg_match ( '/MSIE ([0-9]\.[0-9])/', $_SERVER[ 'HTTP_USER_AGENT' ], $reg );
|
653 |
+
if ( ! isset( $reg[ 1 ] ) ) {
|
654 |
+
return - 1;
|
655 |
+
} else {
|
656 |
+
return floatval ( $reg[ 1 ] );
|
657 |
+
}
|
658 |
}
|
659 |
}
|
660 |
|
661 |
+
if ( ! function_exists ( 'yit_avoid_duplicate' ) ) {
|
662 |
/**
|
663 |
* Check if something exists. If yes, add a -N to the value where N is a number.
|
664 |
*
|
665 |
+
* @param mixed $value
|
666 |
+
* @param array $array
|
667 |
* @param string $check
|
668 |
+
*
|
669 |
* @return mixed
|
670 |
+
* @since 2.0.0
|
671 |
* @author Antonino Scarf� <antonino.scarfi@yithemes.com>
|
672 |
*/
|
673 |
+
function yit_avoid_duplicate ( $value, $array, $check = 'value' ) {
|
674 |
+
$match = array ();
|
675 |
|
676 |
+
if ( ! is_array ( $array ) ) {
|
677 |
return $value;
|
678 |
}
|
679 |
|
680 |
+
if ( ( $check == 'value' && ! in_array ( $value, $array ) ) || ( $check == 'key' && ! isset( $array[ $value ] ) ) ) {
|
681 |
return $value;
|
682 |
} else {
|
683 |
+
if ( ! preg_match ( '/([a-z]+)-([0-9]+)/', $value, $match ) ) {
|
684 |
$i = 2;
|
685 |
} else {
|
686 |
+
$i = intval ( $match[ 2 ] ) + 1;
|
687 |
+
$value = $match[ 1 ];
|
688 |
}
|
689 |
|
690 |
+
return yit_avoid_duplicate ( $value . '-' . $i, $array, $check );
|
691 |
}
|
692 |
}
|
693 |
}
|
694 |
|
695 |
+
if ( ! function_exists ( 'yit_title_special_characters' ) ) {
|
696 |
/**
|
697 |
* The chars used in yit_decode_title() and yit_encode_title()
|
698 |
*
|
700 |
* string: This is [my title] with | a new line
|
701 |
* return: This is <span class="highlight">my title</span> with <br /> a new line
|
702 |
*
|
703 |
+
* @param string $title The string to convert
|
704 |
+
*
|
705 |
* @return string The html
|
706 |
*
|
707 |
* @since 1.0
|
708 |
*/
|
709 |
+
function yit_title_special_characters ( $chars ) {
|
710 |
+
return array_merge ( $chars, array (
|
|
|
711 |
'/[=\[](.*?)[=\]]/' => '<span class="title-highlight">$1</span>',
|
712 |
+
'/\|/' => '<br />',
|
713 |
) );
|
714 |
}
|
715 |
+
|
716 |
+
add_filter ( 'yit_title_special_characters', 'yit_title_special_characters' );
|
717 |
}
|
718 |
|
719 |
+
if ( ! function_exists ( 'yit_decode_title' ) ) {
|
720 |
/**
|
721 |
* Change some special characters to put easily html into a string
|
722 |
*
|
724 |
* string: This is [my title] with | a new line
|
725 |
* return: This is <span class="title-highlight">my title</span> with <br /> a new line
|
726 |
*
|
727 |
+
* @param string $title The string to convert
|
728 |
+
*
|
729 |
* @return string The html
|
730 |
*
|
731 |
* @since 1.0
|
732 |
*/
|
733 |
+
function yit_decode_title ( $title ) {
|
734 |
+
$replaces = apply_filters ( 'yit_title_special_characters', array () );
|
|
|
735 |
|
736 |
+
return preg_replace ( array_keys ( $replaces ), array_values ( $replaces ), $title );
|
737 |
}
|
738 |
}
|
739 |
|
740 |
+
if ( ! function_exists ( 'yit_encode_title' ) ) {
|
741 |
/**
|
742 |
* Change some special characters to put easily html into a string
|
743 |
*
|
745 |
* string: This is [my title] with | a new line
|
746 |
* return: This is <span class="title-highlight">my title</span> with <br /> a new line
|
747 |
*
|
748 |
+
* @param string $title The string to convert
|
749 |
+
*
|
750 |
* @return string The html
|
751 |
*
|
752 |
* @since 1.0
|
753 |
*/
|
754 |
+
function yit_encode_title ( $title ) {
|
755 |
+
$replaces = apply_filters ( 'yit_title_special_characters', array () );
|
|
|
756 |
|
757 |
+
return preg_replace ( array_values ( $replaces ), array_keys ( $replaces ), $title );
|
758 |
}
|
759 |
}
|
760 |
|
761 |
+
if ( ! function_exists ( 'yit_remove_chars_title' ) ) {
|
762 |
/**
|
763 |
* Change some special characters to put easily html into a string
|
764 |
*
|
766 |
* string: This is [my title] with | a new line
|
767 |
* return: This is <span class="title-highlight">my title</span> with <br /> a new line
|
768 |
*
|
769 |
+
* @param string $title The string to convert
|
770 |
+
*
|
771 |
* @return string The html
|
772 |
*
|
773 |
* @since 1.0
|
774 |
*/
|
775 |
+
function yit_remove_chars_title ( $title ) {
|
776 |
+
$replaces = apply_filters ( 'yit_title_special_characters', array () );
|
|
|
777 |
|
778 |
+
return preg_replace ( array_keys ( $replaces ), '$1', $title );
|
779 |
}
|
780 |
}
|
781 |
|
782 |
+
if ( ! function_exists ( 'is_shop_installed' ) ) {
|
783 |
/**
|
784 |
* Detect if there is a shop plugin installed
|
785 |
*
|
786 |
* @return bool
|
787 |
+
* @since 2.0.0
|
788 |
* @author Francesco Grasso <francesco.grasso@yithemes.com
|
789 |
*/
|
790 |
+
function is_shop_installed () {
|
791 |
global $woocommerce;
|
792 |
+
if ( isset( $woocommerce ) || defined ( 'JIGOSHOP_VERSION' ) ) {
|
793 |
return true;
|
794 |
} else {
|
795 |
return false;
|
797 |
}
|
798 |
}
|
799 |
|
800 |
+
if ( ! function_exists ( 'yit_load_js_file' ) ) {
|
801 |
/**
|
802 |
* Load .min.js file if WP_Debug is not defined
|
803 |
*
|
807 |
* @since 2.0.0
|
808 |
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
809 |
*/
|
810 |
+
function yit_load_js_file ( $filename ) {
|
811 |
|
812 |
+
if ( ! ( ( defined ( 'WP_DEBUG' ) && WP_DEBUG ) || ( defined ( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ) ) {
|
813 |
+
$filename = str_replace ( '.js', '.min.js', $filename );
|
814 |
}
|
815 |
|
816 |
return $filename;
|
817 |
}
|
818 |
}
|
819 |
|
820 |
+
if ( ! function_exists ( 'yit_wpml_register_string' ) ) {
|
821 |
/**
|
822 |
* Register a string in wpml trnslation
|
823 |
*
|
824 |
* @param $contenxt context name
|
825 |
+
* @param $name string name
|
826 |
+
* @param $value value to translate
|
827 |
*
|
828 |
* @since 2.0.0
|
829 |
* @author Andrea Frascaspata <andrea.frascaspata@yithemes.com>
|
830 |
*/
|
831 |
+
function yit_wpml_register_string ( $contenxt, $name, $value ) {
|
832 |
// wpml string translation
|
833 |
+
do_action ( 'wpml_register_single_string', $contenxt, $name, $value );
|
834 |
}
|
835 |
}
|
836 |
|
837 |
+
if ( ! function_exists ( 'yit_wpml_string_translate' ) ) {
|
838 |
/**
|
839 |
* Get a string translation
|
840 |
*
|
841 |
+
* @param $contenxt context name
|
842 |
+
* @param $name string name
|
843 |
* @param $default_value value to translate
|
844 |
*
|
845 |
* @return string the string translated
|
846 |
* @since 2.0.0
|
847 |
* @author Andrea Frascaspata <andrea.frascaspata@yithemes.com>
|
848 |
*/
|
849 |
+
function yit_wpml_string_translate ( $contenxt, $name, $default_value ) {
|
850 |
+
return apply_filters ( 'wpml_translate_single_string', $default_value, $contenxt, $name );
|
851 |
}
|
852 |
|
853 |
}
|
854 |
|
855 |
+
if ( ! function_exists ( 'yit_wpml_object_id' ) ) {
|
856 |
/**
|
857 |
* Get id of post translation in current language
|
858 |
*
|
865 |
* @since 2.0.0
|
866 |
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
|
867 |
*/
|
868 |
+
function yit_wpml_object_id ( $element_id, $element_type = 'post', $return_original_if_missing = false, $ulanguage_code = null ) {
|
869 |
+
if ( function_exists ( 'wpml_object_id_filter' ) ) {
|
870 |
+
return wpml_object_id_filter( $element_id, $element_type, $return_original_if_missing, $ulanguage_code );
|
871 |
+
} elseif ( function_exists ( 'icl_object_id' ) ) {
|
872 |
+
return icl_object_id ( $element_id, $element_type, $return_original_if_missing, $ulanguage_code );
|
873 |
+
} else {
|
|
|
|
|
874 |
return $element_id;
|
875 |
}
|
876 |
}
|
877 |
|
878 |
+
}
|
879 |
+
|
880 |
+
|
881 |
+
if ( ! function_exists ( 'yith_get_formatted_price' ) ) {
|
882 |
+
/**
|
883 |
+
* Format the price with a currency symbol.
|
884 |
+
*
|
885 |
+
* @param float $price
|
886 |
+
* @param array $args (default: array())
|
887 |
+
*
|
888 |
+
* @return string
|
889 |
+
*/
|
890 |
+
function yith_get_formatted_price ( $price, $args = array () ) {
|
891 |
+
extract ( apply_filters ( 'wc_price_args', wp_parse_args ( $args, array (
|
892 |
+
'ex_tax_label' => false,
|
893 |
+
'currency' => '',
|
894 |
+
'decimal_separator' => wc_get_price_decimal_separator (),
|
895 |
+
'thousand_separator' => wc_get_price_thousand_separator (),
|
896 |
+
'decimals' => wc_get_price_decimals (),
|
897 |
+
'price_format' => get_woocommerce_price_format (),
|
898 |
+
) ) ) );
|
899 |
+
|
900 |
+
$negative = $price < 0;
|
901 |
+
$price = apply_filters ( 'raw_woocommerce_price', floatval ( $negative ? $price * - 1 : $price ) );
|
902 |
+
$price = apply_filters ( 'formatted_woocommerce_price', number_format ( $price, $decimals, $decimal_separator, $thousand_separator ), $price, $decimals, $decimal_separator, $thousand_separator );
|
903 |
+
|
904 |
+
if ( apply_filters ( 'woocommerce_price_trim_zeros', false ) && $decimals > 0 ) {
|
905 |
+
$price = wc_trim_zeros ( $price );
|
906 |
+
}
|
907 |
+
|
908 |
+
$formatted_price = ( $negative ? '-' : '' ) . sprintf ( $price_format, get_woocommerce_currency_symbol ( $currency ), $price );
|
909 |
+
$return = $formatted_price;
|
910 |
+
|
911 |
+
return apply_filters ( 'wc_price', $return, $price, $args );
|
912 |
+
}
|
913 |
}
|