Version Description
Download this release
Release Info
Developer | yithemes |
Plugin | YITH WooCommerce Zoom Magnifier |
Version | 1.2.13 |
Comparing to | |
See all releases |
Code changes from version 1.2.12 to 1.2.13
- README.txt +11 -6
- assets/css/jquery-ui.css +1177 -0
- assets/js/frontend.js +1 -1
- assets/js/yith_magnifier.js +7 -5
- class.yith-wcmg-frontend.php +65 -53
- class.yith-wcmg.php +1 -1
- init.php +3 -3
- lib/class.yith-woocommerce-zoom-magnifier.php +1 -1
- lib/class.yith-ywzm-plugin-fw-loader.php +1 -1
- 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 +10 -1
- 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 +14 -4
- 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/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
- plugin-options/general-options.php +1 -0
- yit-common/yith-panel.php +557 -545
README.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
|
|
4 |
Tags: zoom, magnifier, woocommerce, product image, themes, yit, e-commerce, shop, thumbnail, thumbnail slider, zoom image, carousel, image carousel
|
5 |
Requires at least: 3.5.1
|
6 |
Tested up to: 4.3.1
|
7 |
-
Stable tag: 1.2.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -59,6 +59,11 @@ The size of the Zoom Image is automatically setted. If you want to change these
|
|
59 |
|
60 |
== Changelog ==
|
61 |
|
|
|
|
|
|
|
|
|
|
|
62 |
= Version 1.2.12 - RELEASED: OCT 29, 2015 =
|
63 |
|
64 |
* Updated: YITH plugin framework
|
@@ -74,17 +79,17 @@ The size of the Zoom Image is automatically setted. If you want to change these
|
|
74 |
= Version 1.2.9 - RELEASED: SEP 04, 2015 =
|
75 |
|
76 |
* Updated: Languages file
|
77 |
-
*
|
78 |
-
*
|
79 |
-
*
|
80 |
|
81 |
= Version 1.2.8 - RELEASED: SEP 01, 2015 =
|
82 |
|
83 |
-
*
|
84 |
|
85 |
= Version 1.2.7 - RELEASED: AUG 27, 2015 =
|
86 |
|
87 |
-
*
|
88 |
|
89 |
= Version 1.2.6 - RELEASED: AUG 12, 2015 =
|
90 |
|
4 |
Tags: zoom, magnifier, woocommerce, product image, themes, yit, e-commerce, shop, thumbnail, thumbnail slider, zoom image, carousel, image carousel
|
5 |
Requires at least: 3.5.1
|
6 |
Tested up to: 4.3.1
|
7 |
+
Stable tag: 1.2.13
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
59 |
|
60 |
== Changelog ==
|
61 |
|
62 |
+
= Version 1.2.13 - RELEASED: DEC 21, 2015 =
|
63 |
+
|
64 |
+
* Fixed: multiple wrap of zoom element with the div with class yith_magnifier_zoom_wrap
|
65 |
+
* Updated: jquery-ui.css is no more linked as external resource but shipped within the plugin, as wordpress.org asked
|
66 |
+
|
67 |
= Version 1.2.12 - RELEASED: OCT 29, 2015 =
|
68 |
|
69 |
* Updated: YITH plugin framework
|
79 |
= Version 1.2.9 - RELEASED: SEP 04, 2015 =
|
80 |
|
81 |
* Updated: Languages file
|
82 |
+
* Fixed: Changed plugin text domain from yit to ywmz
|
83 |
+
* Fixed: featured image shown one time on slider.
|
84 |
+
* Fixed: div not shown if loading text is empty.
|
85 |
|
86 |
= Version 1.2.8 - RELEASED: SEP 01, 2015 =
|
87 |
|
88 |
+
* Fixed: removed deprecated woocommerce_update_option_X hook.
|
89 |
|
90 |
= Version 1.2.7 - RELEASED: AUG 27, 2015 =
|
91 |
|
92 |
+
* Fixed: resolved XSS vulnerability.
|
93 |
|
94 |
= Version 1.2.6 - RELEASED: AUG 12, 2015 =
|
95 |
|
assets/css/jquery-ui.css
ADDED
@@ -0,0 +1,1177 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! jQuery UI - v1.10.3 - 2013-05-03
|
2 |
+
* http://jqueryui.com
|
3 |
+
* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
|
4 |
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
5 |
+
* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */
|
6 |
+
|
7 |
+
/* Layout helpers
|
8 |
+
----------------------------------*/
|
9 |
+
.ui-helper-hidden {
|
10 |
+
display: none;
|
11 |
+
}
|
12 |
+
.ui-helper-hidden-accessible {
|
13 |
+
border: 0;
|
14 |
+
clip: rect(0 0 0 0);
|
15 |
+
height: 1px;
|
16 |
+
margin: -1px;
|
17 |
+
overflow: hidden;
|
18 |
+
padding: 0;
|
19 |
+
position: absolute;
|
20 |
+
width: 1px;
|
21 |
+
}
|
22 |
+
.ui-helper-reset {
|
23 |
+
margin: 0;
|
24 |
+
padding: 0;
|
25 |
+
border: 0;
|
26 |
+
outline: 0;
|
27 |
+
line-height: 1.3;
|
28 |
+
text-decoration: none;
|
29 |
+
font-size: 100%;
|
30 |
+
list-style: none;
|
31 |
+
}
|
32 |
+
.ui-helper-clearfix:before,
|
33 |
+
.ui-helper-clearfix:after {
|
34 |
+
content: "";
|
35 |
+
display: table;
|
36 |
+
border-collapse: collapse;
|
37 |
+
}
|
38 |
+
.ui-helper-clearfix:after {
|
39 |
+
clear: both;
|
40 |
+
}
|
41 |
+
.ui-helper-clearfix {
|
42 |
+
min-height: 0; /* support: IE7 */
|
43 |
+
}
|
44 |
+
.ui-helper-zfix {
|
45 |
+
width: 100%;
|
46 |
+
height: 100%;
|
47 |
+
top: 0;
|
48 |
+
left: 0;
|
49 |
+
position: absolute;
|
50 |
+
opacity: 0;
|
51 |
+
filter:Alpha(Opacity=0);
|
52 |
+
}
|
53 |
+
|
54 |
+
.ui-front {
|
55 |
+
z-index: 100;
|
56 |
+
}
|
57 |
+
|
58 |
+
|
59 |
+
/* Interaction Cues
|
60 |
+
----------------------------------*/
|
61 |
+
.ui-state-disabled {
|
62 |
+
cursor: default !important;
|
63 |
+
}
|
64 |
+
|
65 |
+
|
66 |
+
/* Icons
|
67 |
+
----------------------------------*/
|
68 |
+
|
69 |
+
/* states and images */
|
70 |
+
.ui-icon {
|
71 |
+
display: block;
|
72 |
+
text-indent: -99999px;
|
73 |
+
overflow: hidden;
|
74 |
+
background-repeat: no-repeat;
|
75 |
+
}
|
76 |
+
|
77 |
+
|
78 |
+
/* Misc visuals
|
79 |
+
----------------------------------*/
|
80 |
+
|
81 |
+
/* Overlays */
|
82 |
+
.ui-widget-overlay {
|
83 |
+
position: fixed;
|
84 |
+
top: 0;
|
85 |
+
left: 0;
|
86 |
+
width: 100%;
|
87 |
+
height: 100%;
|
88 |
+
}
|
89 |
+
.ui-accordion .ui-accordion-header {
|
90 |
+
display: block;
|
91 |
+
cursor: pointer;
|
92 |
+
position: relative;
|
93 |
+
margin-top: 2px;
|
94 |
+
padding: .5em .5em .5em .7em;
|
95 |
+
min-height: 0; /* support: IE7 */
|
96 |
+
}
|
97 |
+
.ui-accordion .ui-accordion-icons {
|
98 |
+
padding-left: 2.2em;
|
99 |
+
}
|
100 |
+
.ui-accordion .ui-accordion-noicons {
|
101 |
+
padding-left: .7em;
|
102 |
+
}
|
103 |
+
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
|
104 |
+
padding-left: 2.2em;
|
105 |
+
}
|
106 |
+
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
|
107 |
+
position: absolute;
|
108 |
+
left: .5em;
|
109 |
+
top: 50%;
|
110 |
+
margin-top: -8px;
|
111 |
+
}
|
112 |
+
.ui-accordion .ui-accordion-content {
|
113 |
+
padding: 1em 2.2em;
|
114 |
+
border-top: 0;
|
115 |
+
overflow: auto;
|
116 |
+
}
|
117 |
+
.ui-autocomplete {
|
118 |
+
position: absolute;
|
119 |
+
top: 0;
|
120 |
+
left: 0;
|
121 |
+
cursor: default;
|
122 |
+
}
|
123 |
+
.ui-button {
|
124 |
+
display: inline-block;
|
125 |
+
position: relative;
|
126 |
+
padding: 0;
|
127 |
+
line-height: normal;
|
128 |
+
margin-right: .1em;
|
129 |
+
cursor: pointer;
|
130 |
+
vertical-align: middle;
|
131 |
+
text-align: center;
|
132 |
+
overflow: visible; /* removes extra width in IE */
|
133 |
+
}
|
134 |
+
.ui-button,
|
135 |
+
.ui-button:link,
|
136 |
+
.ui-button:visited,
|
137 |
+
.ui-button:hover,
|
138 |
+
.ui-button:active {
|
139 |
+
text-decoration: none;
|
140 |
+
}
|
141 |
+
/* to make room for the icon, a width needs to be set here */
|
142 |
+
.ui-button-icon-only {
|
143 |
+
width: 2.2em;
|
144 |
+
}
|
145 |
+
/* button elements seem to need a little more width */
|
146 |
+
button.ui-button-icon-only {
|
147 |
+
width: 2.4em;
|
148 |
+
}
|
149 |
+
.ui-button-icons-only {
|
150 |
+
width: 3.4em;
|
151 |
+
}
|
152 |
+
button.ui-button-icons-only {
|
153 |
+
width: 3.7em;
|
154 |
+
}
|
155 |
+
|
156 |
+
/* button text element */
|
157 |
+
.ui-button .ui-button-text {
|
158 |
+
display: block;
|
159 |
+
line-height: normal;
|
160 |
+
}
|
161 |
+
.ui-button-text-only .ui-button-text {
|
162 |
+
padding: .4em 1em;
|
163 |
+
}
|
164 |
+
.ui-button-icon-only .ui-button-text,
|
165 |
+
.ui-button-icons-only .ui-button-text {
|
166 |
+
padding: .4em;
|
167 |
+
text-indent: -9999999px;
|
168 |
+
}
|
169 |
+
.ui-button-text-icon-primary .ui-button-text,
|
170 |
+
.ui-button-text-icons .ui-button-text {
|
171 |
+
padding: .4em 1em .4em 2.1em;
|
172 |
+
}
|
173 |
+
.ui-button-text-icon-secondary .ui-button-text,
|
174 |
+
.ui-button-text-icons .ui-button-text {
|
175 |
+
padding: .4em 2.1em .4em 1em;
|
176 |
+
}
|
177 |
+
.ui-button-text-icons .ui-button-text {
|
178 |
+
padding-left: 2.1em;
|
179 |
+
padding-right: 2.1em;
|
180 |
+
}
|
181 |
+
/* no icon support for input elements, provide padding by default */
|
182 |
+
input.ui-button {
|
183 |
+
padding: .4em 1em;
|
184 |
+
}
|
185 |
+
|
186 |
+
/* button icon element(s) */
|
187 |
+
.ui-button-icon-only .ui-icon,
|
188 |
+
.ui-button-text-icon-primary .ui-icon,
|
189 |
+
.ui-button-text-icon-secondary .ui-icon,
|
190 |
+
.ui-button-text-icons .ui-icon,
|
191 |
+
.ui-button-icons-only .ui-icon {
|
192 |
+
position: absolute;
|
193 |
+
top: 50%;
|
194 |
+
margin-top: -8px;
|
195 |
+
}
|
196 |
+
.ui-button-icon-only .ui-icon {
|
197 |
+
left: 50%;
|
198 |
+
margin-left: -8px;
|
199 |
+
}
|
200 |
+
.ui-button-text-icon-primary .ui-button-icon-primary,
|
201 |
+
.ui-button-text-icons .ui-button-icon-primary,
|
202 |
+
.ui-button-icons-only .ui-button-icon-primary {
|
203 |
+
left: .5em;
|
204 |
+
}
|
205 |
+
.ui-button-text-icon-secondary .ui-button-icon-secondary,
|
206 |
+
.ui-button-text-icons .ui-button-icon-secondary,
|
207 |
+
.ui-button-icons-only .ui-button-icon-secondary {
|
208 |
+
right: .5em;
|
209 |
+
}
|
210 |
+
|
211 |
+
/* button sets */
|
212 |
+
.ui-buttonset {
|
213 |
+
margin-right: 7px;
|
214 |
+
}
|
215 |
+
.ui-buttonset .ui-button {
|
216 |
+
margin-left: 0;
|
217 |
+
margin-right: -.3em;
|
218 |
+
}
|
219 |
+
|
220 |
+
/* workarounds */
|
221 |
+
/* reset extra padding in Firefox, see h5bp.com/l */
|
222 |
+
input.ui-button::-moz-focus-inner,
|
223 |
+
button.ui-button::-moz-focus-inner {
|
224 |
+
border: 0;
|
225 |
+
padding: 0;
|
226 |
+
}
|
227 |
+
.ui-datepicker {
|
228 |
+
width: 17em;
|
229 |
+
padding: .2em .2em 0;
|
230 |
+
display: none;
|
231 |
+
}
|
232 |
+
.ui-datepicker .ui-datepicker-header {
|
233 |
+
position: relative;
|
234 |
+
padding: .2em 0;
|
235 |
+
}
|
236 |
+
.ui-datepicker .ui-datepicker-prev,
|
237 |
+
.ui-datepicker .ui-datepicker-next {
|
238 |
+
position: absolute;
|
239 |
+
top: 2px;
|
240 |
+
width: 1.8em;
|
241 |
+
height: 1.8em;
|
242 |
+
}
|
243 |
+
.ui-datepicker .ui-datepicker-prev-hover,
|
244 |
+
.ui-datepicker .ui-datepicker-next-hover {
|
245 |
+
top: 1px;
|
246 |
+
}
|
247 |
+
.ui-datepicker .ui-datepicker-prev {
|
248 |
+
left: 2px;
|
249 |
+
}
|
250 |
+
.ui-datepicker .ui-datepicker-next {
|
251 |
+
right: 2px;
|
252 |
+
}
|
253 |
+
.ui-datepicker .ui-datepicker-prev-hover {
|
254 |
+
left: 1px;
|
255 |
+
}
|
256 |
+
.ui-datepicker .ui-datepicker-next-hover {
|
257 |
+
right: 1px;
|
258 |
+
}
|
259 |
+
.ui-datepicker .ui-datepicker-prev span,
|
260 |
+
.ui-datepicker .ui-datepicker-next span {
|
261 |
+
display: block;
|
262 |
+
position: absolute;
|
263 |
+
left: 50%;
|
264 |
+
margin-left: -8px;
|
265 |
+
top: 50%;
|
266 |
+
margin-top: -8px;
|
267 |
+
}
|
268 |
+
.ui-datepicker .ui-datepicker-title {
|
269 |
+
margin: 0 2.3em;
|
270 |
+
line-height: 1.8em;
|
271 |
+
text-align: center;
|
272 |
+
}
|
273 |
+
.ui-datepicker .ui-datepicker-title select {
|
274 |
+
font-size: 1em;
|
275 |
+
margin: 1px 0;
|
276 |
+
}
|
277 |
+
.ui-datepicker select.ui-datepicker-month-year {
|
278 |
+
width: 100%;
|
279 |
+
}
|
280 |
+
.ui-datepicker select.ui-datepicker-month,
|
281 |
+
.ui-datepicker select.ui-datepicker-year {
|
282 |
+
width: 49%;
|
283 |
+
}
|
284 |
+
.ui-datepicker table {
|
285 |
+
width: 100%;
|
286 |
+
font-size: .9em;
|
287 |
+
border-collapse: collapse;
|
288 |
+
margin: 0 0 .4em;
|
289 |
+
}
|
290 |
+
.ui-datepicker th {
|
291 |
+
padding: .7em .3em;
|
292 |
+
text-align: center;
|
293 |
+
font-weight: bold;
|
294 |
+
border: 0;
|
295 |
+
}
|
296 |
+
.ui-datepicker td {
|
297 |
+
border: 0;
|
298 |
+
padding: 1px;
|
299 |
+
}
|
300 |
+
.ui-datepicker td span,
|
301 |
+
.ui-datepicker td a {
|
302 |
+
display: block;
|
303 |
+
padding: .2em;
|
304 |
+
text-align: right;
|
305 |
+
text-decoration: none;
|
306 |
+
}
|
307 |
+
.ui-datepicker .ui-datepicker-buttonpane {
|
308 |
+
background-image: none;
|
309 |
+
margin: .7em 0 0 0;
|
310 |
+
padding: 0 .2em;
|
311 |
+
border-left: 0;
|
312 |
+
border-right: 0;
|
313 |
+
border-bottom: 0;
|
314 |
+
}
|
315 |
+
.ui-datepicker .ui-datepicker-buttonpane button {
|
316 |
+
float: right;
|
317 |
+
margin: .5em .2em .4em;
|
318 |
+
cursor: pointer;
|
319 |
+
padding: .2em .6em .3em .6em;
|
320 |
+
width: auto;
|
321 |
+
overflow: visible;
|
322 |
+
}
|
323 |
+
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
324 |
+
float: left;
|
325 |
+
}
|
326 |
+
|
327 |
+
/* with multiple calendars */
|
328 |
+
.ui-datepicker.ui-datepicker-multi {
|
329 |
+
width: auto;
|
330 |
+
}
|
331 |
+
.ui-datepicker-multi .ui-datepicker-group {
|
332 |
+
float: left;
|
333 |
+
}
|
334 |
+
.ui-datepicker-multi .ui-datepicker-group table {
|
335 |
+
width: 95%;
|
336 |
+
margin: 0 auto .4em;
|
337 |
+
}
|
338 |
+
.ui-datepicker-multi-2 .ui-datepicker-group {
|
339 |
+
width: 50%;
|
340 |
+
}
|
341 |
+
.ui-datepicker-multi-3 .ui-datepicker-group {
|
342 |
+
width: 33.3%;
|
343 |
+
}
|
344 |
+
.ui-datepicker-multi-4 .ui-datepicker-group {
|
345 |
+
width: 25%;
|
346 |
+
}
|
347 |
+
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
|
348 |
+
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
|
349 |
+
border-left-width: 0;
|
350 |
+
}
|
351 |
+
.ui-datepicker-multi .ui-datepicker-buttonpane {
|
352 |
+
clear: left;
|
353 |
+
}
|
354 |
+
.ui-datepicker-row-break {
|
355 |
+
clear: both;
|
356 |
+
width: 100%;
|
357 |
+
font-size: 0;
|
358 |
+
}
|
359 |
+
|
360 |
+
/* RTL support */
|
361 |
+
.ui-datepicker-rtl {
|
362 |
+
direction: rtl;
|
363 |
+
}
|
364 |
+
.ui-datepicker-rtl .ui-datepicker-prev {
|
365 |
+
right: 2px;
|
366 |
+
left: auto;
|
367 |
+
}
|
368 |
+
.ui-datepicker-rtl .ui-datepicker-next {
|
369 |
+
left: 2px;
|
370 |
+
right: auto;
|
371 |
+
}
|
372 |
+
.ui-datepicker-rtl .ui-datepicker-prev:hover {
|
373 |
+
right: 1px;
|
374 |
+
left: auto;
|
375 |
+
}
|
376 |
+
.ui-datepicker-rtl .ui-datepicker-next:hover {
|
377 |
+
left: 1px;
|
378 |
+
right: auto;
|
379 |
+
}
|
380 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane {
|
381 |
+
clear: right;
|
382 |
+
}
|
383 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
|
384 |
+
float: left;
|
385 |
+
}
|
386 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
|
387 |
+
.ui-datepicker-rtl .ui-datepicker-group {
|
388 |
+
float: right;
|
389 |
+
}
|
390 |
+
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
|
391 |
+
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
|
392 |
+
border-right-width: 0;
|
393 |
+
border-left-width: 1px;
|
394 |
+
}
|
395 |
+
.ui-dialog {
|
396 |
+
position: absolute;
|
397 |
+
top: 0;
|
398 |
+
left: 0;
|
399 |
+
padding: .2em;
|
400 |
+
outline: 0;
|
401 |
+
}
|
402 |
+
.ui-dialog .ui-dialog-titlebar {
|
403 |
+
padding: .4em 1em;
|
404 |
+
position: relative;
|
405 |
+
}
|
406 |
+
.ui-dialog .ui-dialog-title {
|
407 |
+
float: left;
|
408 |
+
margin: .1em 0;
|
409 |
+
white-space: nowrap;
|
410 |
+
width: 90%;
|
411 |
+
overflow: hidden;
|
412 |
+
text-overflow: ellipsis;
|
413 |
+
}
|
414 |
+
.ui-dialog .ui-dialog-titlebar-close {
|
415 |
+
position: absolute;
|
416 |
+
right: .3em;
|
417 |
+
top: 50%;
|
418 |
+
width: 21px;
|
419 |
+
margin: -10px 0 0 0;
|
420 |
+
padding: 1px;
|
421 |
+
height: 20px;
|
422 |
+
}
|
423 |
+
.ui-dialog .ui-dialog-content {
|
424 |
+
position: relative;
|
425 |
+
border: 0;
|
426 |
+
padding: .5em 1em;
|
427 |
+
background: none;
|
428 |
+
overflow: auto;
|
429 |
+
}
|
430 |
+
.ui-dialog .ui-dialog-buttonpane {
|
431 |
+
text-align: left;
|
432 |
+
border-width: 1px 0 0 0;
|
433 |
+
background-image: none;
|
434 |
+
margin-top: .5em;
|
435 |
+
padding: .3em 1em .5em .4em;
|
436 |
+
}
|
437 |
+
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
|
438 |
+
float: right;
|
439 |
+
}
|
440 |
+
.ui-dialog .ui-dialog-buttonpane button {
|
441 |
+
margin: .5em .4em .5em 0;
|
442 |
+
cursor: pointer;
|
443 |
+
}
|
444 |
+
.ui-dialog .ui-resizable-se {
|
445 |
+
width: 12px;
|
446 |
+
height: 12px;
|
447 |
+
right: -5px;
|
448 |
+
bottom: -5px;
|
449 |
+
background-position: 16px 16px;
|
450 |
+
}
|
451 |
+
.ui-draggable .ui-dialog-titlebar {
|
452 |
+
cursor: move;
|
453 |
+
}
|
454 |
+
.ui-menu {
|
455 |
+
list-style: none;
|
456 |
+
padding: 2px;
|
457 |
+
margin: 0;
|
458 |
+
display: block;
|
459 |
+
outline: none;
|
460 |
+
}
|
461 |
+
.ui-menu .ui-menu {
|
462 |
+
margin-top: -3px;
|
463 |
+
position: absolute;
|
464 |
+
}
|
465 |
+
.ui-menu .ui-menu-item {
|
466 |
+
margin: 0;
|
467 |
+
padding: 0;
|
468 |
+
width: 100%;
|
469 |
+
/* support: IE10, see #8844 */
|
470 |
+
list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
|
471 |
+
}
|
472 |
+
.ui-menu .ui-menu-divider {
|
473 |
+
margin: 5px -2px 5px -2px;
|
474 |
+
height: 0;
|
475 |
+
font-size: 0;
|
476 |
+
line-height: 0;
|
477 |
+
border-width: 1px 0 0 0;
|
478 |
+
}
|
479 |
+
.ui-menu .ui-menu-item a {
|
480 |
+
text-decoration: none;
|
481 |
+
display: block;
|
482 |
+
padding: 2px .4em;
|
483 |
+
line-height: 1.5;
|
484 |
+
min-height: 0; /* support: IE7 */
|
485 |
+
font-weight: normal;
|
486 |
+
}
|
487 |
+
.ui-menu .ui-menu-item a.ui-state-focus,
|
488 |
+
.ui-menu .ui-menu-item a.ui-state-active {
|
489 |
+
font-weight: normal;
|
490 |
+
margin: -1px;
|
491 |
+
}
|
492 |
+
|
493 |
+
.ui-menu .ui-state-disabled {
|
494 |
+
font-weight: normal;
|
495 |
+
margin: .4em 0 .2em;
|
496 |
+
line-height: 1.5;
|
497 |
+
}
|
498 |
+
.ui-menu .ui-state-disabled a {
|
499 |
+
cursor: default;
|
500 |
+
}
|
501 |
+
|
502 |
+
/* icon support */
|
503 |
+
.ui-menu-icons {
|
504 |
+
position: relative;
|
505 |
+
}
|
506 |
+
.ui-menu-icons .ui-menu-item a {
|
507 |
+
position: relative;
|
508 |
+
padding-left: 2em;
|
509 |
+
}
|
510 |
+
|
511 |
+
/* left-aligned */
|
512 |
+
.ui-menu .ui-icon {
|
513 |
+
position: absolute;
|
514 |
+
top: .2em;
|
515 |
+
left: .2em;
|
516 |
+
}
|
517 |
+
|
518 |
+
/* right-aligned */
|
519 |
+
.ui-menu .ui-menu-icon {
|
520 |
+
position: static;
|
521 |
+
float: right;
|
522 |
+
}
|
523 |
+
.ui-progressbar {
|
524 |
+
height: 2em;
|
525 |
+
text-align: left;
|
526 |
+
overflow: hidden;
|
527 |
+
}
|
528 |
+
.ui-progressbar .ui-progressbar-value {
|
529 |
+
margin: -1px;
|
530 |
+
height: 100%;
|
531 |
+
}
|
532 |
+
.ui-progressbar .ui-progressbar-overlay {
|
533 |
+
background: url("images/animated-overlay.gif");
|
534 |
+
height: 100%;
|
535 |
+
filter: alpha(opacity=25);
|
536 |
+
opacity: 0.25;
|
537 |
+
}
|
538 |
+
.ui-progressbar-indeterminate .ui-progressbar-value {
|
539 |
+
background-image: none;
|
540 |
+
}
|
541 |
+
.ui-resizable {
|
542 |
+
position: relative;
|
543 |
+
}
|
544 |
+
.ui-resizable-handle {
|
545 |
+
position: absolute;
|
546 |
+
font-size: 0.1px;
|
547 |
+
display: block;
|
548 |
+
}
|
549 |
+
.ui-resizable-disabled .ui-resizable-handle,
|
550 |
+
.ui-resizable-autohide .ui-resizable-handle {
|
551 |
+
display: none;
|
552 |
+
}
|
553 |
+
.ui-resizable-n {
|
554 |
+
cursor: n-resize;
|
555 |
+
height: 7px;
|
556 |
+
width: 100%;
|
557 |
+
top: -5px;
|
558 |
+
left: 0;
|
559 |
+
}
|
560 |
+
.ui-resizable-s {
|
561 |
+
cursor: s-resize;
|
562 |
+
height: 7px;
|
563 |
+
width: 100%;
|
564 |
+
bottom: -5px;
|
565 |
+
left: 0;
|
566 |
+
}
|
567 |
+
.ui-resizable-e {
|
568 |
+
cursor: e-resize;
|
569 |
+
width: 7px;
|
570 |
+
right: -5px;
|
571 |
+
top: 0;
|
572 |
+
height: 100%;
|
573 |
+
}
|
574 |
+
.ui-resizable-w {
|
575 |
+
cursor: w-resize;
|
576 |
+
width: 7px;
|
577 |
+
left: -5px;
|
578 |
+
top: 0;
|
579 |
+
height: 100%;
|
580 |
+
}
|
581 |
+
.ui-resizable-se {
|
582 |
+
cursor: se-resize;
|
583 |
+
width: 12px;
|
584 |
+
height: 12px;
|
585 |
+
right: 1px;
|
586 |
+
bottom: 1px;
|
587 |
+
}
|
588 |
+
.ui-resizable-sw {
|
589 |
+
cursor: sw-resize;
|
590 |
+
width: 9px;
|
591 |
+
height: 9px;
|
592 |
+
left: -5px;
|
593 |
+
bottom: -5px;
|
594 |
+
}
|
595 |
+
.ui-resizable-nw {
|
596 |
+
cursor: nw-resize;
|
597 |
+
width: 9px;
|
598 |
+
height: 9px;
|
599 |
+
left: -5px;
|
600 |
+
top: -5px;
|
601 |
+
}
|
602 |
+
.ui-resizable-ne {
|
603 |
+
cursor: ne-resize;
|
604 |
+
width: 9px;
|
605 |
+
height: 9px;
|
606 |
+
right: -5px;
|
607 |
+
top: -5px;
|
608 |
+
}
|
609 |
+
.ui-selectable-helper {
|
610 |
+
position: absolute;
|
611 |
+
z-index: 100;
|
612 |
+
border: 1px dotted black;
|
613 |
+
}
|
614 |
+
.ui-slider {
|
615 |
+
position: relative;
|
616 |
+
text-align: left;
|
617 |
+
}
|
618 |
+
.ui-slider .ui-slider-handle {
|
619 |
+
position: absolute;
|
620 |
+
z-index: 2;
|
621 |
+
width: 1.2em;
|
622 |
+
height: 1.2em;
|
623 |
+
cursor: default;
|
624 |
+
}
|
625 |
+
.ui-slider .ui-slider-range {
|
626 |
+
position: absolute;
|
627 |
+
z-index: 1;
|
628 |
+
font-size: .7em;
|
629 |
+
display: block;
|
630 |
+
border: 0;
|
631 |
+
background-position: 0 0;
|
632 |
+
}
|
633 |
+
|
634 |
+
/* For IE8 - See #6727 */
|
635 |
+
.ui-slider.ui-state-disabled .ui-slider-handle,
|
636 |
+
.ui-slider.ui-state-disabled .ui-slider-range {
|
637 |
+
filter: inherit;
|
638 |
+
}
|
639 |
+
|
640 |
+
.ui-slider-horizontal {
|
641 |
+
height: .8em;
|
642 |
+
}
|
643 |
+
.ui-slider-horizontal .ui-slider-handle {
|
644 |
+
top: -.3em;
|
645 |
+
margin-left: -.6em;
|
646 |
+
}
|
647 |
+
.ui-slider-horizontal .ui-slider-range {
|
648 |
+
top: 0;
|
649 |
+
height: 100%;
|
650 |
+
}
|
651 |
+
.ui-slider-horizontal .ui-slider-range-min {
|
652 |
+
left: 0;
|
653 |
+
}
|
654 |
+
.ui-slider-horizontal .ui-slider-range-max {
|
655 |
+
right: 0;
|
656 |
+
}
|
657 |
+
|
658 |
+
.ui-slider-vertical {
|
659 |
+
width: .8em;
|
660 |
+
height: 100px;
|
661 |
+
}
|
662 |
+
.ui-slider-vertical .ui-slider-handle {
|
663 |
+
left: -.3em;
|
664 |
+
margin-left: 0;
|
665 |
+
margin-bottom: -.6em;
|
666 |
+
}
|
667 |
+
.ui-slider-vertical .ui-slider-range {
|
668 |
+
left: 0;
|
669 |
+
width: 100%;
|
670 |
+
}
|
671 |
+
.ui-slider-vertical .ui-slider-range-min {
|
672 |
+
bottom: 0;
|
673 |
+
}
|
674 |
+
.ui-slider-vertical .ui-slider-range-max {
|
675 |
+
top: 0;
|
676 |
+
}
|
677 |
+
.ui-spinner {
|
678 |
+
position: relative;
|
679 |
+
display: inline-block;
|
680 |
+
overflow: hidden;
|
681 |
+
padding: 0;
|
682 |
+
vertical-align: middle;
|
683 |
+
}
|
684 |
+
.ui-spinner-input {
|
685 |
+
border: none;
|
686 |
+
background: none;
|
687 |
+
color: inherit;
|
688 |
+
padding: 0;
|
689 |
+
margin: .2em 0;
|
690 |
+
vertical-align: middle;
|
691 |
+
margin-left: .4em;
|
692 |
+
margin-right: 22px;
|
693 |
+
}
|
694 |
+
.ui-spinner-button {
|
695 |
+
width: 16px;
|
696 |
+
height: 50%;
|
697 |
+
font-size: .5em;
|
698 |
+
padding: 0;
|
699 |
+
margin: 0;
|
700 |
+
text-align: center;
|
701 |
+
position: absolute;
|
702 |
+
cursor: default;
|
703 |
+
display: block;
|
704 |
+
overflow: hidden;
|
705 |
+
right: 0;
|
706 |
+
}
|
707 |
+
/* more specificity required here to overide default borders */
|
708 |
+
.ui-spinner a.ui-spinner-button {
|
709 |
+
border-top: none;
|
710 |
+
border-bottom: none;
|
711 |
+
border-right: none;
|
712 |
+
}
|
713 |
+
/* vertical centre icon */
|
714 |
+
.ui-spinner .ui-icon {
|
715 |
+
position: absolute;
|
716 |
+
margin-top: -8px;
|
717 |
+
top: 50%;
|
718 |
+
left: 0;
|
719 |
+
}
|
720 |
+
.ui-spinner-up {
|
721 |
+
top: 0;
|
722 |
+
}
|
723 |
+
.ui-spinner-down {
|
724 |
+
bottom: 0;
|
725 |
+
}
|
726 |
+
|
727 |
+
/* TR overrides */
|
728 |
+
.ui-spinner .ui-icon-triangle-1-s {
|
729 |
+
/* need to fix icons sprite */
|
730 |
+
background-position: -65px -16px;
|
731 |
+
}
|
732 |
+
.ui-tabs {
|
733 |
+
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
734 |
+
padding: .2em;
|
735 |
+
}
|
736 |
+
.ui-tabs .ui-tabs-nav {
|
737 |
+
margin: 0;
|
738 |
+
padding: .2em .2em 0;
|
739 |
+
}
|
740 |
+
.ui-tabs .ui-tabs-nav li {
|
741 |
+
list-style: none;
|
742 |
+
float: left;
|
743 |
+
position: relative;
|
744 |
+
top: 0;
|
745 |
+
margin: 1px .2em 0 0;
|
746 |
+
border-bottom-width: 0;
|
747 |
+
padding: 0;
|
748 |
+
white-space: nowrap;
|
749 |
+
}
|
750 |
+
.ui-tabs .ui-tabs-nav li a {
|
751 |
+
float: left;
|
752 |
+
padding: .5em 1em;
|
753 |
+
text-decoration: none;
|
754 |
+
}
|
755 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
756 |
+
margin-bottom: -1px;
|
757 |
+
padding-bottom: 1px;
|
758 |
+
}
|
759 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
|
760 |
+
.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
|
761 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
|
762 |
+
cursor: text;
|
763 |
+
}
|
764 |
+
.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
765 |
+
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
|
766 |
+
cursor: pointer;
|
767 |
+
}
|
768 |
+
.ui-tabs .ui-tabs-panel {
|
769 |
+
display: block;
|
770 |
+
border-width: 0;
|
771 |
+
padding: 1em 1.4em;
|
772 |
+
background: none;
|
773 |
+
}
|
774 |
+
.ui-tooltip {
|
775 |
+
padding: 8px;
|
776 |
+
position: absolute;
|
777 |
+
z-index: 9999;
|
778 |
+
max-width: 300px;
|
779 |
+
-webkit-box-shadow: 0 0 5px #aaa;
|
780 |
+
box-shadow: 0 0 5px #aaa;
|
781 |
+
}
|
782 |
+
body .ui-tooltip {
|
783 |
+
border-width: 2px;
|
784 |
+
}
|
785 |
+
|
786 |
+
/* Component containers
|
787 |
+
----------------------------------*/
|
788 |
+
.ui-widget {
|
789 |
+
font-family: Verdana,Arial,sans-serif;
|
790 |
+
font-size: 1.1em;
|
791 |
+
}
|
792 |
+
.ui-widget .ui-widget {
|
793 |
+
font-size: 1em;
|
794 |
+
}
|
795 |
+
.ui-widget input,
|
796 |
+
.ui-widget select,
|
797 |
+
.ui-widget textarea,
|
798 |
+
.ui-widget button {
|
799 |
+
font-family: Verdana,Arial,sans-serif;
|
800 |
+
font-size: 1em;
|
801 |
+
}
|
802 |
+
.ui-widget-content {
|
803 |
+
border: 1px solid #aaaaaa;
|
804 |
+
background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
|
805 |
+
color: #222222;
|
806 |
+
}
|
807 |
+
.ui-widget-content a {
|
808 |
+
color: #222222;
|
809 |
+
}
|
810 |
+
.ui-widget-header {
|
811 |
+
border: 1px solid #aaaaaa;
|
812 |
+
background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
|
813 |
+
color: #222222;
|
814 |
+
font-weight: bold;
|
815 |
+
}
|
816 |
+
.ui-widget-header a {
|
817 |
+
color: #222222;
|
818 |
+
}
|
819 |
+
|
820 |
+
/* Interaction states
|
821 |
+
----------------------------------*/
|
822 |
+
.ui-state-default,
|
823 |
+
.ui-widget-content .ui-state-default,
|
824 |
+
.ui-widget-header .ui-state-default {
|
825 |
+
border: 1px solid #d3d3d3;
|
826 |
+
background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;
|
827 |
+
font-weight: normal;
|
828 |
+
color: #555555;
|
829 |
+
}
|
830 |
+
.ui-state-default a,
|
831 |
+
.ui-state-default a:link,
|
832 |
+
.ui-state-default a:visited {
|
833 |
+
color: #555555;
|
834 |
+
text-decoration: none;
|
835 |
+
}
|
836 |
+
.ui-state-hover,
|
837 |
+
.ui-widget-content .ui-state-hover,
|
838 |
+
.ui-widget-header .ui-state-hover,
|
839 |
+
.ui-state-focus,
|
840 |
+
.ui-widget-content .ui-state-focus,
|
841 |
+
.ui-widget-header .ui-state-focus {
|
842 |
+
border: 1px solid #999999;
|
843 |
+
background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
|
844 |
+
font-weight: normal;
|
845 |
+
color: #212121;
|
846 |
+
}
|
847 |
+
.ui-state-hover a,
|
848 |
+
.ui-state-hover a:hover,
|
849 |
+
.ui-state-hover a:link,
|
850 |
+
.ui-state-hover a:visited {
|
851 |
+
color: #212121;
|
852 |
+
text-decoration: none;
|
853 |
+
}
|
854 |
+
.ui-state-active,
|
855 |
+
.ui-widget-content .ui-state-active,
|
856 |
+
.ui-widget-header .ui-state-active {
|
857 |
+
border: 1px solid #aaaaaa;
|
858 |
+
background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
|
859 |
+
font-weight: normal;
|
860 |
+
color: #212121;
|
861 |
+
}
|
862 |
+
.ui-state-active a,
|
863 |
+
.ui-state-active a:link,
|
864 |
+
.ui-state-active a:visited {
|
865 |
+
color: #212121;
|
866 |
+
text-decoration: none;
|
867 |
+
}
|
868 |
+
|
869 |
+
/* Interaction Cues
|
870 |
+
----------------------------------*/
|
871 |
+
.ui-state-highlight,
|
872 |
+
.ui-widget-content .ui-state-highlight,
|
873 |
+
.ui-widget-header .ui-state-highlight {
|
874 |
+
border: 1px solid #fcefa1;
|
875 |
+
background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
|
876 |
+
color: #363636;
|
877 |
+
}
|
878 |
+
.ui-state-highlight a,
|
879 |
+
.ui-widget-content .ui-state-highlight a,
|
880 |
+
.ui-widget-header .ui-state-highlight a {
|
881 |
+
color: #363636;
|
882 |
+
}
|
883 |
+
.ui-state-error,
|
884 |
+
.ui-widget-content .ui-state-error,
|
885 |
+
.ui-widget-header .ui-state-error {
|
886 |
+
border: 1px solid #cd0a0a;
|
887 |
+
background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
|
888 |
+
color: #cd0a0a;
|
889 |
+
}
|
890 |
+
.ui-state-error a,
|
891 |
+
.ui-widget-content .ui-state-error a,
|
892 |
+
.ui-widget-header .ui-state-error a {
|
893 |
+
color: #cd0a0a;
|
894 |
+
}
|
895 |
+
.ui-state-error-text,
|
896 |
+
.ui-widget-content .ui-state-error-text,
|
897 |
+
.ui-widget-header .ui-state-error-text {
|
898 |
+
color: #cd0a0a;
|
899 |
+
}
|
900 |
+
.ui-priority-primary,
|
901 |
+
.ui-widget-content .ui-priority-primary,
|
902 |
+
.ui-widget-header .ui-priority-primary {
|
903 |
+
font-weight: bold;
|
904 |
+
}
|
905 |
+
.ui-priority-secondary,
|
906 |
+
.ui-widget-content .ui-priority-secondary,
|
907 |
+
.ui-widget-header .ui-priority-secondary {
|
908 |
+
opacity: .7;
|
909 |
+
filter:Alpha(Opacity=70);
|
910 |
+
font-weight: normal;
|
911 |
+
}
|
912 |
+
.ui-state-disabled,
|
913 |
+
.ui-widget-content .ui-state-disabled,
|
914 |
+
.ui-widget-header .ui-state-disabled {
|
915 |
+
opacity: .35;
|
916 |
+
filter:Alpha(Opacity=35);
|
917 |
+
background-image: none;
|
918 |
+
}
|
919 |
+
.ui-state-disabled .ui-icon {
|
920 |
+
filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
|
921 |
+
}
|
922 |
+
|
923 |
+
/* Icons
|
924 |
+
----------------------------------*/
|
925 |
+
|
926 |
+
/* states and images */
|
927 |
+
.ui-icon {
|
928 |
+
width: 16px;
|
929 |
+
height: 16px;
|
930 |
+
}
|
931 |
+
.ui-icon,
|
932 |
+
.ui-widget-content .ui-icon {
|
933 |
+
background-image: url(images/ui-icons_222222_256x240.png);
|
934 |
+
}
|
935 |
+
.ui-widget-header .ui-icon {
|
936 |
+
background-image: url(images/ui-icons_222222_256x240.png);
|
937 |
+
}
|
938 |
+
.ui-state-default .ui-icon {
|
939 |
+
background-image: url(images/ui-icons_888888_256x240.png);
|
940 |
+
}
|
941 |
+
.ui-state-hover .ui-icon,
|
942 |
+
.ui-state-focus .ui-icon {
|
943 |
+
background-image: url(images/ui-icons_454545_256x240.png);
|
944 |
+
}
|
945 |
+
.ui-state-active .ui-icon {
|
946 |
+
background-image: url(images/ui-icons_454545_256x240.png);
|
947 |
+
}
|
948 |
+
.ui-state-highlight .ui-icon {
|
949 |
+
background-image: url(images/ui-icons_2e83ff_256x240.png);
|
950 |
+
}
|
951 |
+
.ui-state-error .ui-icon,
|
952 |
+
.ui-state-error-text .ui-icon {
|
953 |
+
background-image: url(images/ui-icons_cd0a0a_256x240.png);
|
954 |
+
}
|
955 |
+
|
956 |
+
/* positioning */
|
957 |
+
.ui-icon-blank { background-position: 16px 16px; }
|
958 |
+
.ui-icon-carat-1-n { background-position: 0 0; }
|
959 |
+
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
960 |
+
.ui-icon-carat-1-e { background-position: -32px 0; }
|
961 |
+
.ui-icon-carat-1-se { background-position: -48px 0; }
|
962 |
+
.ui-icon-carat-1-s { background-position: -64px 0; }
|
963 |
+
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
964 |
+
.ui-icon-carat-1-w { background-position: -96px 0; }
|
965 |
+
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
966 |
+
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
967 |
+
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
968 |
+
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
969 |
+
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
970 |
+
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
971 |
+
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
972 |
+
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
973 |
+
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
974 |
+
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
975 |
+
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
976 |
+
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
977 |
+
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
978 |
+
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
979 |
+
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
980 |
+
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
981 |
+
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
982 |
+
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
983 |
+
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
984 |
+
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
985 |
+
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
986 |
+
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
987 |
+
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
988 |
+
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
989 |
+
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
990 |
+
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
991 |
+
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
992 |
+
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
993 |
+
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
994 |
+
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
995 |
+
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
996 |
+
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
997 |
+
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
998 |
+
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
999 |
+
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
1000 |
+
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
1001 |
+
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
1002 |
+
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
1003 |
+
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
1004 |
+
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
1005 |
+
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
1006 |
+
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
1007 |
+
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
1008 |
+
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
1009 |
+
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
1010 |
+
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
1011 |
+
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
1012 |
+
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
1013 |
+
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
1014 |
+
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
1015 |
+
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
1016 |
+
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
1017 |
+
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
1018 |
+
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
1019 |
+
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
1020 |
+
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
1021 |
+
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
1022 |
+
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
1023 |
+
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
1024 |
+
.ui-icon-extlink { background-position: -32px -80px; }
|
1025 |
+
.ui-icon-newwin { background-position: -48px -80px; }
|
1026 |
+
.ui-icon-refresh { background-position: -64px -80px; }
|
1027 |
+
.ui-icon-shuffle { background-position: -80px -80px; }
|
1028 |
+
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
1029 |
+
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
1030 |
+
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
1031 |
+
.ui-icon-folder-open { background-position: -16px -96px; }
|
1032 |
+
.ui-icon-document { background-position: -32px -96px; }
|
1033 |
+
.ui-icon-document-b { background-position: -48px -96px; }
|
1034 |
+
.ui-icon-note { background-position: -64px -96px; }
|
1035 |
+
.ui-icon-mail-closed { background-position: -80px -96px; }
|
1036 |
+
.ui-icon-mail-open { background-position: -96px -96px; }
|
1037 |
+
.ui-icon-suitcase { background-position: -112px -96px; }
|
1038 |
+
.ui-icon-comment { background-position: -128px -96px; }
|
1039 |
+
.ui-icon-person { background-position: -144px -96px; }
|
1040 |
+
.ui-icon-print { background-position: -160px -96px; }
|
1041 |
+
.ui-icon-trash { background-position: -176px -96px; }
|
1042 |
+
.ui-icon-locked { background-position: -192px -96px; }
|
1043 |
+
.ui-icon-unlocked { background-position: -208px -96px; }
|
1044 |
+
.ui-icon-bookmark { background-position: -224px -96px; }
|
1045 |
+
.ui-icon-tag { background-position: -240px -96px; }
|
1046 |
+
.ui-icon-home { background-position: 0 -112px; }
|
1047 |
+
.ui-icon-flag { background-position: -16px -112px; }
|
1048 |
+
.ui-icon-calendar { background-position: -32px -112px; }
|
1049 |
+
.ui-icon-cart { background-position: -48px -112px; }
|
1050 |
+
.ui-icon-pencil { background-position: -64px -112px; }
|
1051 |
+
.ui-icon-clock { background-position: -80px -112px; }
|
1052 |
+
.ui-icon-disk { background-position: -96px -112px; }
|
1053 |
+
.ui-icon-calculator { background-position: -112px -112px; }
|
1054 |
+
.ui-icon-zoomin { background-position: -128px -112px; }
|
1055 |
+
.ui-icon-zoomout { background-position: -144px -112px; }
|
1056 |
+
.ui-icon-search { background-position: -160px -112px; }
|
1057 |
+
.ui-icon-wrench { background-position: -176px -112px; }
|
1058 |
+
.ui-icon-gear { background-position: -192px -112px; }
|
1059 |
+
.ui-icon-heart { background-position: -208px -112px; }
|
1060 |
+
.ui-icon-star { background-position: -224px -112px; }
|
1061 |
+
.ui-icon-link { background-position: -240px -112px; }
|
1062 |
+
.ui-icon-cancel { background-position: 0 -128px; }
|
1063 |
+
.ui-icon-plus { background-position: -16px -128px; }
|
1064 |
+
.ui-icon-plusthick { background-position: -32px -128px; }
|
1065 |
+
.ui-icon-minus { background-position: -48px -128px; }
|
1066 |
+
.ui-icon-minusthick { background-position: -64px -128px; }
|
1067 |
+
.ui-icon-close { background-position: -80px -128px; }
|
1068 |
+
.ui-icon-closethick { background-position: -96px -128px; }
|
1069 |
+
.ui-icon-key { background-position: -112px -128px; }
|
1070 |
+
.ui-icon-lightbulb { background-position: -128px -128px; }
|
1071 |
+
.ui-icon-scissors { background-position: -144px -128px; }
|
1072 |
+
.ui-icon-clipboard { background-position: -160px -128px; }
|
1073 |
+
.ui-icon-copy { background-position: -176px -128px; }
|
1074 |
+
.ui-icon-contact { background-position: -192px -128px; }
|
1075 |
+
.ui-icon-image { background-position: -208px -128px; }
|
1076 |
+
.ui-icon-video { background-position: -224px -128px; }
|
1077 |
+
.ui-icon-script { background-position: -240px -128px; }
|
1078 |
+
.ui-icon-alert { background-position: 0 -144px; }
|
1079 |
+
.ui-icon-info { background-position: -16px -144px; }
|
1080 |
+
.ui-icon-notice { background-position: -32px -144px; }
|
1081 |
+
.ui-icon-help { background-position: -48px -144px; }
|
1082 |
+
.ui-icon-check { background-position: -64px -144px; }
|
1083 |
+
.ui-icon-bullet { background-position: -80px -144px; }
|
1084 |
+
.ui-icon-radio-on { background-position: -96px -144px; }
|
1085 |
+
.ui-icon-radio-off { background-position: -112px -144px; }
|
1086 |
+
.ui-icon-pin-w { background-position: -128px -144px; }
|
1087 |
+
.ui-icon-pin-s { background-position: -144px -144px; }
|
1088 |
+
.ui-icon-play { background-position: 0 -160px; }
|
1089 |
+
.ui-icon-pause { background-position: -16px -160px; }
|
1090 |
+
.ui-icon-seek-next { background-position: -32px -160px; }
|
1091 |
+
.ui-icon-seek-prev { background-position: -48px -160px; }
|
1092 |
+
.ui-icon-seek-end { background-position: -64px -160px; }
|
1093 |
+
.ui-icon-seek-start { background-position: -80px -160px; }
|
1094 |
+
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
1095 |
+
.ui-icon-seek-first { background-position: -80px -160px; }
|
1096 |
+
.ui-icon-stop { background-position: -96px -160px; }
|
1097 |
+
.ui-icon-eject { background-position: -112px -160px; }
|
1098 |
+
.ui-icon-volume-off { background-position: -128px -160px; }
|
1099 |
+
.ui-icon-volume-on { background-position: -144px -160px; }
|
1100 |
+
.ui-icon-power { background-position: 0 -176px; }
|
1101 |
+
.ui-icon-signal-diag { background-position: -16px -176px; }
|
1102 |
+
.ui-icon-signal { background-position: -32px -176px; }
|
1103 |
+
.ui-icon-battery-0 { background-position: -48px -176px; }
|
1104 |
+
.ui-icon-battery-1 { background-position: -64px -176px; }
|
1105 |
+
.ui-icon-battery-2 { background-position: -80px -176px; }
|
1106 |
+
.ui-icon-battery-3 { background-position: -96px -176px; }
|
1107 |
+
.ui-icon-circle-plus { background-position: 0 -192px; }
|
1108 |
+
.ui-icon-circle-minus { background-position: -16px -192px; }
|
1109 |
+
.ui-icon-circle-close { background-position: -32px -192px; }
|
1110 |
+
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
1111 |
+
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
1112 |
+
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
1113 |
+
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
1114 |
+
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
1115 |
+
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
1116 |
+
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
1117 |
+
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
1118 |
+
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
1119 |
+
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
1120 |
+
.ui-icon-circle-check { background-position: -208px -192px; }
|
1121 |
+
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
1122 |
+
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
1123 |
+
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
1124 |
+
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
1125 |
+
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
1126 |
+
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
1127 |
+
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
1128 |
+
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
1129 |
+
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
1130 |
+
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
1131 |
+
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
1132 |
+
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
1133 |
+
|
1134 |
+
|
1135 |
+
/* Misc visuals
|
1136 |
+
----------------------------------*/
|
1137 |
+
|
1138 |
+
/* Corner radius */
|
1139 |
+
.ui-corner-all,
|
1140 |
+
.ui-corner-top,
|
1141 |
+
.ui-corner-left,
|
1142 |
+
.ui-corner-tl {
|
1143 |
+
border-top-left-radius: 4px;
|
1144 |
+
}
|
1145 |
+
.ui-corner-all,
|
1146 |
+
.ui-corner-top,
|
1147 |
+
.ui-corner-right,
|
1148 |
+
.ui-corner-tr {
|
1149 |
+
border-top-right-radius: 4px;
|
1150 |
+
}
|
1151 |
+
.ui-corner-all,
|
1152 |
+
.ui-corner-bottom,
|
1153 |
+
.ui-corner-left,
|
1154 |
+
.ui-corner-bl {
|
1155 |
+
border-bottom-left-radius: 4px;
|
1156 |
+
}
|
1157 |
+
.ui-corner-all,
|
1158 |
+
.ui-corner-bottom,
|
1159 |
+
.ui-corner-right,
|
1160 |
+
.ui-corner-br {
|
1161 |
+
border-bottom-right-radius: 4px;
|
1162 |
+
}
|
1163 |
+
|
1164 |
+
/* Overlays */
|
1165 |
+
.ui-widget-overlay {
|
1166 |
+
background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
|
1167 |
+
opacity: .3;
|
1168 |
+
filter: Alpha(Opacity=30);
|
1169 |
+
}
|
1170 |
+
.ui-widget-shadow {
|
1171 |
+
margin: -8px 0 0 -8px;
|
1172 |
+
padding: 8px;
|
1173 |
+
background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
|
1174 |
+
opacity: .3;
|
1175 |
+
filter: Alpha(Opacity=30);
|
1176 |
+
border-radius: 8px;
|
1177 |
+
}
|
assets/js/frontend.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
*
|
4 |
* @author Your Inspiration Themes
|
5 |
* @package YITH WooCommerce Zoom Magnifier
|
6 |
-
* @version 1.2.
|
7 |
*/
|
8 |
jQuery(document).ready(function ($) {
|
9 |
|
3 |
*
|
4 |
* @author Your Inspiration Themes
|
5 |
* @package YITH WooCommerce Zoom Magnifier
|
6 |
+
* @version 1.2.13
|
7 |
*/
|
8 |
jQuery(document).ready(function ($) {
|
9 |
|
assets/js/yith_magnifier.js
CHANGED
@@ -7,7 +7,8 @@
|
|
7 |
* MIT License.
|
8 |
*/
|
9 |
|
10 |
-
;
|
|
|
11 |
'use strict';
|
12 |
|
13 |
//include imagesLoaded plugin
|
@@ -22,7 +23,8 @@
|
|
22 |
/*jshint curly: true, eqeqeq: true, noempty: true, strict: true, undef: true, browser: true */
|
23 |
/*global jQuery: false */
|
24 |
|
25 |
-
;
|
|
|
26 |
'use strict';
|
27 |
|
28 |
// blank image data-uri bypasses webkit log warning (thx doug jones)
|
@@ -304,9 +306,9 @@
|
|
304 |
self.zoomImage = self.options.elements.zoomImage;
|
305 |
|
306 |
//wrap the zoom image with a div
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
|
311 |
self.IMG_zoomImage = new Image();
|
312 |
self.IMG_zoomImage.src = self.zoom.attr('href');
|
7 |
* MIT License.
|
8 |
*/
|
9 |
|
10 |
+
;
|
11 |
+
(function (window, $, undefined) {
|
12 |
'use strict';
|
13 |
|
14 |
//include imagesLoaded plugin
|
23 |
/*jshint curly: true, eqeqeq: true, noempty: true, strict: true, undef: true, browser: true */
|
24 |
/*global jQuery: false */
|
25 |
|
26 |
+
;
|
27 |
+
(function ($, undefined) {
|
28 |
'use strict';
|
29 |
|
30 |
// blank image data-uri bypasses webkit log warning (thx doug jones)
|
306 |
self.zoomImage = self.options.elements.zoomImage;
|
307 |
|
308 |
//wrap the zoom image with a div
|
309 |
+
if (!self.zoom.parent().hasClass('yith_magnifier_zoom_wrap')) {
|
310 |
+
self.zoom.wrap('<div class="yith_magnifier_zoom_wrap"></div>');
|
311 |
+
}
|
312 |
|
313 |
self.IMG_zoomImage = new Image();
|
314 |
self.IMG_zoomImage.src = self.zoom.attr('href');
|
class.yith-wcmg-frontend.php
CHANGED
@@ -2,16 +2,16 @@
|
|
2 |
/**
|
3 |
* Frontend class
|
4 |
*
|
5 |
-
* @author
|
6 |
* @package YITH WooCommerce Zoom Magnifier
|
7 |
* @version 1.1.2
|
8 |
*/
|
9 |
|
10 |
-
if (!defined('YITH_WCMG')) {
|
11 |
exit;
|
12 |
} // Exit if accessed directly
|
13 |
|
14 |
-
if (!class_exists('YITH_WCMG_Frontend')) {
|
15 |
/**
|
16 |
* Admin class.
|
17 |
* The class manage all the Frontend behaviors.
|
@@ -31,28 +31,28 @@ if (!class_exists('YITH_WCMG_Frontend')) {
|
|
31 |
* Constructor
|
32 |
*
|
33 |
* @access public
|
34 |
-
* @since
|
35 |
*/
|
36 |
-
public function __construct($version) {
|
37 |
$this->version = $version;
|
38 |
|
39 |
// add the action only when the loop is initializate
|
40 |
-
add_action('template_redirect', array( $this, 'render') );
|
41 |
}
|
42 |
|
43 |
-
public function render() {
|
44 |
-
if ( yith_wcmg_is_enabled() && ! $this->is_video_featured_enabled() ) {
|
45 |
//change the templates
|
46 |
-
remove_action('woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20);
|
47 |
-
remove_action('woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails', 20);
|
48 |
-
add_action('woocommerce_before_single_product_summary', array( $this, 'show_product_images'), 20);
|
49 |
-
add_action('woocommerce_product_thumbnails', array( $this, 'show_product_thumbnails' ), 20);
|
50 |
|
51 |
//custom styles and javascripts
|
52 |
-
add_action( 'wp_enqueue_scripts', array($this, 'enqueue_styles_scripts') );
|
53 |
|
54 |
//add attributes to product variations
|
55 |
-
add_filter('woocommerce_available_variation', array($this, 'available_variation'), 10, 3);
|
56 |
}
|
57 |
}
|
58 |
|
@@ -62,13 +62,13 @@ if (!class_exists('YITH_WCMG_Frontend')) {
|
|
62 |
*
|
63 |
* @access public
|
64 |
* @return void
|
65 |
-
* @since
|
66 |
*/
|
67 |
-
public function show_product_images() {
|
68 |
|
69 |
/** FIX WOO 2.1 */
|
70 |
-
$wc_get_template = function_exists('wc_get_template') ? 'wc_get_template' : 'woocommerce_get_template';
|
71 |
-
$wc_get_template('single-product/product-image-magnifier.php', array(), '', YITH_YWZM_DIR . 'templates/');
|
72 |
}
|
73 |
|
74 |
|
@@ -77,14 +77,14 @@ if (!class_exists('YITH_WCMG_Frontend')) {
|
|
77 |
*
|
78 |
* @access public
|
79 |
* @return void
|
80 |
-
* @since
|
81 |
*/
|
82 |
-
public function show_product_thumbnails() {
|
83 |
|
84 |
/** FIX WOO 2.1 */
|
85 |
-
$wc_get_template = function_exists('wc_get_template') ? 'wc_get_template' : 'woocommerce_get_template';
|
86 |
|
87 |
-
$wc_get_template('single-product/product-thumbnails-magnifier.php', array(), '', YITH_YWZM_DIR . 'templates/');
|
88 |
}
|
89 |
|
90 |
|
@@ -93,34 +93,46 @@ if (!class_exists('YITH_WCMG_Frontend')) {
|
|
93 |
*
|
94 |
* @access public
|
95 |
* @return void
|
96 |
-
* @since
|
97 |
*/
|
98 |
-
public function enqueue_styles_scripts() {
|
99 |
global $post;
|
100 |
|
101 |
-
$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
|
102 |
|
103 |
-
wp_register_script('yith-magnifier-slider', YITH_WCMG_URL . 'assets/js/jquery.carouFredSel' . $suffix . '.js', array(
|
104 |
'jquery',
|
105 |
-
'jquery-migrate'
|
106 |
-
), '6.2.1', true);
|
107 |
-
wp_register_script('yith-magnifier', YITH_WCMG_URL . 'assets/js/yith_magnifier' . $suffix . '.js', array('jquery'), $this->version, true);
|
108 |
-
wp_register_script('yith_wcmg_frontend', YITH_WCMG_URL . 'assets/js/frontend' . $suffix . '.js', array(
|
109 |
'jquery',
|
110 |
-
'yith-magnifier'
|
111 |
-
), $this->version, true);
|
112 |
-
|
113 |
-
wp_register_style('yith-magnifier', YITH_WCMG_URL . 'assets/css/yith_magnifier.css');
|
114 |
-
|
115 |
-
if ( is_product() || (!empty($post->post_content) && strstr($post->post_content, '[product_page') ) ) {
|
116 |
-
wp_enqueue_script('yith-magnifier-slider');
|
117 |
-
wp_enqueue_script('yith-magnifier');
|
118 |
-
wp_enqueue_script('yith_wcmg_frontend');
|
119 |
-
|
120 |
-
wp_enqueue_style('yith-magnifier');
|
121 |
-
|
122 |
-
$css = file_exists(get_stylesheet_directory() . '/woocommerce/yith_magnifier.css') ? get_stylesheet_directory_uri() . '/woocommerce/yith_magnifier.css' : YITH_WCMG_URL . 'assets/css/frontend.css';
|
123 |
-
wp_enqueue_style('yith_wcmg_frontend', $css);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
}
|
125 |
}
|
126 |
|
@@ -130,14 +142,14 @@ if (!class_exists('YITH_WCMG_Frontend')) {
|
|
130 |
*
|
131 |
* @access public
|
132 |
* @return void
|
133 |
-
* @since
|
134 |
*/
|
135 |
-
public function available_variation($data, $wc_prod, $variation) {
|
136 |
|
137 |
-
$attachment_id = get_post_thumbnail_id($variation->get_variation_id());
|
138 |
-
$attachment
|
139 |
|
140 |
-
$data['image_magnifier'] = $attachment ? current($attachment) : '';
|
141 |
|
142 |
return $data;
|
143 |
}
|
@@ -145,14 +157,14 @@ if (!class_exists('YITH_WCMG_Frontend')) {
|
|
145 |
/**
|
146 |
* Detect if the featured video is enabled
|
147 |
*/
|
148 |
-
public function is_video_featured_enabled() {
|
149 |
global $post;
|
150 |
-
if (!isset($post->ID)) {
|
151 |
return;
|
152 |
}
|
153 |
|
154 |
-
$featured_video = get_post_meta($post->ID, '_video_url', true);
|
155 |
-
if (!empty($featured_video)) {
|
156 |
return true;
|
157 |
} else {
|
158 |
return false;
|
2 |
/**
|
3 |
* Frontend class
|
4 |
*
|
5 |
+
* @author Your Inspiration Themes
|
6 |
* @package YITH WooCommerce Zoom Magnifier
|
7 |
* @version 1.1.2
|
8 |
*/
|
9 |
|
10 |
+
if ( ! defined ( 'YITH_WCMG' ) ) {
|
11 |
exit;
|
12 |
} // Exit if accessed directly
|
13 |
|
14 |
+
if ( ! class_exists ( 'YITH_WCMG_Frontend' ) ) {
|
15 |
/**
|
16 |
* Admin class.
|
17 |
* The class manage all the Frontend behaviors.
|
31 |
* Constructor
|
32 |
*
|
33 |
* @access public
|
34 |
+
* @since 1.0.0
|
35 |
*/
|
36 |
+
public function __construct ( $version ) {
|
37 |
$this->version = $version;
|
38 |
|
39 |
// add the action only when the loop is initializate
|
40 |
+
add_action ( 'template_redirect', array ( $this, 'render' ) );
|
41 |
}
|
42 |
|
43 |
+
public function render () {
|
44 |
+
if ( yith_wcmg_is_enabled () && ! $this->is_video_featured_enabled () ) {
|
45 |
//change the templates
|
46 |
+
remove_action ( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );
|
47 |
+
remove_action ( 'woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails', 20 );
|
48 |
+
add_action ( 'woocommerce_before_single_product_summary', array ( $this, 'show_product_images' ), 20 );
|
49 |
+
add_action ( 'woocommerce_product_thumbnails', array ( $this, 'show_product_thumbnails' ), 20 );
|
50 |
|
51 |
//custom styles and javascripts
|
52 |
+
add_action ( 'wp_enqueue_scripts', array ( $this, 'enqueue_styles_scripts' ) );
|
53 |
|
54 |
//add attributes to product variations
|
55 |
+
add_filter ( 'woocommerce_available_variation', array ( $this, 'available_variation' ), 10, 3 );
|
56 |
}
|
57 |
}
|
58 |
|
62 |
*
|
63 |
* @access public
|
64 |
* @return void
|
65 |
+
* @since 1.0.0
|
66 |
*/
|
67 |
+
public function show_product_images () {
|
68 |
|
69 |
/** FIX WOO 2.1 */
|
70 |
+
$wc_get_template = function_exists ( 'wc_get_template' ) ? 'wc_get_template' : 'woocommerce_get_template';
|
71 |
+
$wc_get_template( 'single-product/product-image-magnifier.php', array (), '', YITH_YWZM_DIR . 'templates/' );
|
72 |
}
|
73 |
|
74 |
|
77 |
*
|
78 |
* @access public
|
79 |
* @return void
|
80 |
+
* @since 1.0.0
|
81 |
*/
|
82 |
+
public function show_product_thumbnails () {
|
83 |
|
84 |
/** FIX WOO 2.1 */
|
85 |
+
$wc_get_template = function_exists ( 'wc_get_template' ) ? 'wc_get_template' : 'woocommerce_get_template';
|
86 |
|
87 |
+
$wc_get_template( 'single-product/product-thumbnails-magnifier.php', array (), '', YITH_YWZM_DIR . 'templates/' );
|
88 |
}
|
89 |
|
90 |
|
93 |
*
|
94 |
* @access public
|
95 |
* @return void
|
96 |
+
* @since 1.0.0
|
97 |
*/
|
98 |
+
public function enqueue_styles_scripts () {
|
99 |
global $post;
|
100 |
|
101 |
+
$suffix = defined ( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
102 |
|
103 |
+
wp_register_script ( 'yith-magnifier-slider', YITH_WCMG_URL . 'assets/js/jquery.carouFredSel' . $suffix . '.js', array (
|
104 |
'jquery',
|
105 |
+
'jquery-migrate',
|
106 |
+
), '6.2.1', true );
|
107 |
+
wp_register_script ( 'yith-magnifier', YITH_WCMG_URL . 'assets/js/yith_magnifier' . $suffix . '.js', array ( 'jquery' ), $this->version, true );
|
108 |
+
wp_register_script ( 'yith_wcmg_frontend', YITH_WCMG_URL . 'assets/js/frontend' . $suffix . '.js', array (
|
109 |
'jquery',
|
110 |
+
'yith-magnifier',
|
111 |
+
), $this->version, true );
|
112 |
+
|
113 |
+
wp_register_style ( 'yith-magnifier', YITH_WCMG_URL . 'assets/css/yith_magnifier.css' );
|
114 |
+
|
115 |
+
if ( is_product () || ( ! empty( $post->post_content ) && strstr ( $post->post_content, '[product_page' ) ) ) {
|
116 |
+
wp_enqueue_script ( 'yith-magnifier-slider' );
|
117 |
+
wp_enqueue_script ( 'yith-magnifier' );
|
118 |
+
wp_enqueue_script ( 'yith_wcmg_frontend' );
|
119 |
+
|
120 |
+
wp_enqueue_style ( 'yith-magnifier' );
|
121 |
+
|
122 |
+
$css = file_exists ( get_stylesheet_directory () . '/woocommerce/yith_magnifier.css' ) ? get_stylesheet_directory_uri () . '/woocommerce/yith_magnifier.css' : YITH_WCMG_URL . 'assets/css/frontend.css';
|
123 |
+
wp_enqueue_style ( 'yith_wcmg_frontend', $css );
|
124 |
+
/*
|
125 |
+
$append_text_css = '.yith_magnifier_zoom_wrap::after {
|
126 |
+
content: "' . __ ( "Roll over image to zoom in", "yith-woocommerce-zoom-magnifier" ) . '";
|
127 |
+
margin: 0 auto;
|
128 |
+
display: inline-block;
|
129 |
+
text-align:center;
|
130 |
+
font-size: 10px;
|
131 |
+
}
|
132 |
+
';
|
133 |
+
|
134 |
+
wp_add_inline_style ( 'yith_wcmg_frontend', $append_text_css );
|
135 |
+
*/
|
136 |
}
|
137 |
}
|
138 |
|
142 |
*
|
143 |
* @access public
|
144 |
* @return void
|
145 |
+
* @since 1.0.0
|
146 |
*/
|
147 |
+
public function available_variation ( $data, $wc_prod, $variation ) {
|
148 |
|
149 |
+
$attachment_id = get_post_thumbnail_id ( $variation->get_variation_id () );
|
150 |
+
$attachment = wp_get_attachment_image_src ( $attachment_id, 'shop_magnifier' );
|
151 |
|
152 |
+
$data[ 'image_magnifier' ] = $attachment ? current ( $attachment ) : '';
|
153 |
|
154 |
return $data;
|
155 |
}
|
157 |
/**
|
158 |
* Detect if the featured video is enabled
|
159 |
*/
|
160 |
+
public function is_video_featured_enabled () {
|
161 |
global $post;
|
162 |
+
if ( ! isset( $post->ID ) ) {
|
163 |
return;
|
164 |
}
|
165 |
|
166 |
+
$featured_video = get_post_meta ( $post->ID, '_video_url', true );
|
167 |
+
if ( ! empty( $featured_video ) ) {
|
168 |
return true;
|
169 |
} else {
|
170 |
return false;
|
class.yith-wcmg.php
CHANGED
@@ -22,7 +22,7 @@ if( !class_exists( 'YITH_WCMG' ) ) {
|
|
22 |
* @var string
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
-
public $version = '1.2.
|
26 |
|
27 |
/**
|
28 |
* Plugin object
|
22 |
* @var string
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
+
public $version = '1.2.13';
|
26 |
|
27 |
/**
|
28 |
* Plugin object
|
init.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: YITH WooCommerce Zoom Magnifier
|
4 |
* Plugin URI: http://yithemes.com/themes/plugins/yith-woocommerce-zoom-magnifier/
|
5 |
* Description: YITH WooCommerce Zoom Magnifier enables you to add a zoom effect to product images and a thumbnail slider for the product image gallery.
|
6 |
-
* Version: 1.2.
|
7 |
* Author: Yithemes
|
8 |
* Author URI: http://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-zoom-magnifier
|
@@ -11,7 +11,7 @@
|
|
11 |
*
|
12 |
* @author Your Inspiration Themes
|
13 |
* @package YITH WooCommerce Magnifier
|
14 |
-
* @version 1.2.
|
15 |
*/
|
16 |
/* Copyright 2013-2015 Your Inspiration Themes (email : plugins@yithemes.com)
|
17 |
|
@@ -65,7 +65,7 @@ if ( ! defined( 'YITH_YWZM_FREE_INIT' ) ) {
|
|
65 |
}
|
66 |
|
67 |
if ( ! defined( 'YITH_YWZM_VERSION' ) ) {
|
68 |
-
define( 'YITH_YWZM_VERSION', '1.2.
|
69 |
}
|
70 |
|
71 |
if ( ! defined( 'YITH_YWZM_FILE' ) ) {
|
3 |
* Plugin Name: YITH WooCommerce Zoom Magnifier
|
4 |
* Plugin URI: http://yithemes.com/themes/plugins/yith-woocommerce-zoom-magnifier/
|
5 |
* Description: YITH WooCommerce Zoom Magnifier enables you to add a zoom effect to product images and a thumbnail slider for the product image gallery.
|
6 |
+
* Version: 1.2.13
|
7 |
* Author: Yithemes
|
8 |
* Author URI: http://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-zoom-magnifier
|
11 |
*
|
12 |
* @author Your Inspiration Themes
|
13 |
* @package YITH WooCommerce Magnifier
|
14 |
+
* @version 1.2.13
|
15 |
*/
|
16 |
/* Copyright 2013-2015 Your Inspiration Themes (email : plugins@yithemes.com)
|
17 |
|
65 |
}
|
66 |
|
67 |
if ( ! defined( 'YITH_YWZM_VERSION' ) ) {
|
68 |
+
define( 'YITH_YWZM_VERSION', '1.2.13' );
|
69 |
}
|
70 |
|
71 |
if ( ! defined( 'YITH_YWZM_FILE' ) ) {
|
lib/class.yith-woocommerce-zoom-magnifier.php
CHANGED
@@ -25,7 +25,7 @@ if ( ! class_exists( 'YITH_WooCommerce_Zoom_Magnifier' ) ) {
|
|
25 |
* @var string
|
26 |
* @since 1.0.0
|
27 |
*/
|
28 |
-
public $version = '1.2.
|
29 |
|
30 |
/**
|
31 |
* Plugin object
|
25 |
* @var string
|
26 |
* @since 1.0.0
|
27 |
*/
|
28 |
+
public $version = '1.2.13';
|
29 |
|
30 |
/**
|
31 |
* Plugin object
|
lib/class.yith-ywzm-plugin-fw-loader.php
CHANGED
@@ -66,7 +66,7 @@ if ( ! class_exists( 'YITH_YWZM_Plugin_FW_Loader' ) ) {
|
|
66 |
*/
|
67 |
add_action( 'admin_init', array( $this, 'register_pointer' ) );
|
68 |
|
69 |
-
add_action( '
|
70 |
|
71 |
//Add action links
|
72 |
add_filter( 'plugin_action_links_' . plugin_basename( YITH_YWZM_DIR . '/' . basename( YITH_YWZM_FILE ) ), array(
|
66 |
*/
|
67 |
add_action( 'admin_init', array( $this, 'register_pointer' ) );
|
68 |
|
69 |
+
add_action( 'plugins_loaded', array( $this, 'plugin_fw_loader' ), 15 );
|
70 |
|
71 |
//Add action links
|
72 |
add_filter( 'plugin_action_links_' . plugin_basename( YITH_YWZM_DIR . '/' . basename( YITH_YWZM_FILE ) ), array(
|
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
@@ -1 +1,10 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function(a){var l=function(){var b="";a(this).attr("multiple")?(a(this).children("option:selected").each(function(c,d){0!=c&&(b+=", ");b+=a(d).text()}),""==b&&a(this).children().children("option:selected").each(function(c,d){0!=c&&(b+=", ");b+=a(d).text()})):(b=a(this).children("option:selected").text(),""==b&&(b=a(this).children().children("option:selected").text()));0>=a(this).parent().find("span").length&&a(this).before("<span></span>");a(this).parent().children("span").replaceWith("<span>"+b+
|
2 |
+
"</span>")};a(".plugin-option .select_wrapper select").not(".chosen").each(l).change(l);a(".plugin-option .select_wrapper").click(function(b){b.stopPropagation();a(this).find("select[multiple]").not(".chosen").toggle()});a(".plugin-option .select_wrapper select[multiple]").not(".chosen").click(function(a){a.stopPropagation()});a(window).click(function(){a(".plugin-option .select_wrapper select[multiple]").not(".chosen").hide()});a(".plugin-option .chosen .select_wrapper select").chosen();a(".plugin-option .on_off_container span").on("click",
|
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.6
|
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,32 @@ 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 |
-
|
|
|
|
|
|
|
|
|
|
|
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 |
+
|
330 |
+
if ( 'customize.php' != $pagenow ){
|
331 |
+
|
332 |
+
wp_enqueue_style ( 'wp-jquery-ui-dialog' );
|
333 |
+
|
334 |
+
}
|
335 |
|
336 |
wp_enqueue_style( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/css/chosen/chosen.css' );
|
337 |
wp_enqueue_script( 'jquery-chosen', YIT_CORE_PLUGIN_URL . '/assets/js/chosen/chosen.jquery.js', array( 'jquery' ), '1.1.0', true );
|
338 |
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 );
|
339 |
+
wp_register_script( 'yit-plugin-panel', YIT_CORE_PLUGIN_URL . '/assets/js/yit-plugin-panel.min.js', array( 'jquery', 'jquery-chosen' ), $this->version, true );
|
340 |
wp_localize_script( 'woocommerce_settings', 'woocommerce_settings_params', array(
|
341 |
'i18n_nav_warning' => __( 'The changes you have made will be lost if you leave this page.', 'yith-plugin-fw' )
|
342 |
) );
|
343 |
+
|
344 |
+
if( 'admin.php' == $pagenow && strpos( get_current_screen()->id, 'yit-plugins_page' ) !== false ){
|
345 |
+
wp_enqueue_style( 'yit-plugin-style' );
|
346 |
+
wp_enqueue_script( 'yit-plugin-panel' );
|
347 |
+
}
|
348 |
}
|
349 |
|
350 |
/**
|
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/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 |
}
|
plugin-options/general-options.php
CHANGED
@@ -126,6 +126,7 @@ $magnifier_settings = array(
|
|
126 |
'default' => __( 'Loading...', 'yith-woocommerce-zoom-magnifier' ),
|
127 |
'type' => 'text',
|
128 |
),
|
|
|
129 |
array(
|
130 |
'name' => __( 'Lens Opacity', 'yith-woocommerce-zoom-magnifier' ),
|
131 |
'desc' => '',
|
126 |
'default' => __( 'Loading...', 'yith-woocommerce-zoom-magnifier' ),
|
127 |
'type' => 'text',
|
128 |
),
|
129 |
+
|
130 |
array(
|
131 |
'name' => __( 'Lens Opacity', 'yith-woocommerce-zoom-magnifier' ),
|
132 |
'desc' => '',
|
yit-common/yith-panel.php
CHANGED
@@ -6,549 +6,561 @@
|
|
6 |
* @version 0.1.0
|
7 |
*/
|
8 |
|
9 |
-
if (
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
}
|
6 |
* @version 0.1.0
|
7 |
*/
|
8 |
|
9 |
+
if (!class_exists('YITH_Panel')) {
|
10 |
+
/*
|
11 |
+
* The class manages the theme options for the Plugin
|
12 |
+
*/
|
13 |
+
|
14 |
+
class YITH_Panel
|
15 |
+
{
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Class version
|
19 |
+
*
|
20 |
+
* @var string
|
21 |
+
*/
|
22 |
+
public $version = '0.1.0';
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Parameters for add_submenu_page
|
26 |
+
*
|
27 |
+
* add_submenu_page(
|
28 |
+
* 'themes.php', // The file name of a standard WordPress admin page
|
29 |
+
* 'Theme Options', // The text to be displayed in the title tags of the page when the menu is selected
|
30 |
+
* 'Theme Options', // The text to be used for the menu
|
31 |
+
* 'administrator', // The capability (or role) required for this menu to be displayed to the user.
|
32 |
+
* 'theme-options', // The slug name to refer to this menu by (should be unique for this menu).
|
33 |
+
* 'theme_options_display_page' // The function to be called to output the content for this page.
|
34 |
+
* );
|
35 |
+
*
|
36 |
+
* @access protected
|
37 |
+
*/
|
38 |
+
protected $_submenu = array();
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Initial Options definition:
|
42 |
+
* 'tab' => array(
|
43 |
+
* 'label',
|
44 |
+
* 'sections' => array(
|
45 |
+
* 'fields' => array(
|
46 |
+
* 'option1',
|
47 |
+
* 'option2',
|
48 |
+
* ...
|
49 |
+
* )
|
50 |
+
* )
|
51 |
+
* )
|
52 |
+
*
|
53 |
+
* @var array
|
54 |
+
* @access public
|
55 |
+
*/
|
56 |
+
public $options = array();
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Options group name
|
60 |
+
*
|
61 |
+
* @var string
|
62 |
+
* @access public
|
63 |
+
*/
|
64 |
+
public $option_group = 'panel_group';
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Option name
|
68 |
+
*
|
69 |
+
* @var string
|
70 |
+
* @access public
|
71 |
+
*/
|
72 |
+
public $option_name = 'panel_options';
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Banner links
|
76 |
+
*
|
77 |
+
* @var string
|
78 |
+
* @access public
|
79 |
+
*/
|
80 |
+
public $banner_url = 'http://yithemes.com/?ap_id=plugin';
|
81 |
+
public $banner_img = '';
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Constructor
|
85 |
+
*
|
86 |
+
* @param array $submenu Parameters for add_submenu_page
|
87 |
+
* @param array $options Array of plugin options
|
88 |
+
*
|
89 |
+
*/
|
90 |
+
public function __construct($submenu, $options, $banner = array(), $option_group = false, $option_name = false)
|
91 |
+
{
|
92 |
+
$this->_submenu = apply_filters('yith_panel_submenu', $submenu);
|
93 |
+
$this->options = apply_filters('yith_panel_options', $options);
|
94 |
+
|
95 |
+
if (!empty($banner)) {
|
96 |
+
$this->banner_url = $banner['url'];
|
97 |
+
$this->banner_img = $banner['img'];
|
98 |
+
}
|
99 |
+
|
100 |
+
if ($option_group) {
|
101 |
+
$this->option_group = $option_group;
|
102 |
+
}
|
103 |
+
|
104 |
+
if ($option_name) {
|
105 |
+
$this->option_name = $option_name;
|
106 |
+
}
|
107 |
+
|
108 |
+
//add new menu item
|
109 |
+
//register new settings option group
|
110 |
+
//include js and css files
|
111 |
+
//print browser
|
112 |
+
add_action('admin_menu', array($this, 'add_submenu_page'));
|
113 |
+
add_action('admin_init', array($this, 'panel_register_setting'));
|
114 |
+
add_action('admin_enqueue_scripts', array($this, 'panel_enqueue'));
|
115 |
+
|
116 |
+
// add the typography javascript vars
|
117 |
+
add_action('yith_panel_after_panel', array($this, 'js_typo_vars'));
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Create new submenu page
|
122 |
+
*
|
123 |
+
* @return void
|
124 |
+
* @access public
|
125 |
+
* @link http://codex.wordpress.org/Function_Reference/add_submenu_page
|
126 |
+
*/
|
127 |
+
public function add_submenu_page()
|
128 |
+
{
|
129 |
+
$submenu = $this->_submenu;
|
130 |
+
add_submenu_page(
|
131 |
+
$submenu[0],
|
132 |
+
$submenu[1],
|
133 |
+
$submenu[2],
|
134 |
+
$submenu[3],
|
135 |
+
$submenu[4],
|
136 |
+
array($this, isset($submenu[5]) ? $submenu[5] : 'display_panel_page')
|
137 |
+
);
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Print the Panel page
|
142 |
+
*
|
143 |
+
* @return void
|
144 |
+
* @access public
|
145 |
+
*/
|
146 |
+
public function display_panel_page()
|
147 |
+
{
|
148 |
+
// Create a header in the default WordPress 'wrap' container
|
149 |
+
$page = $this->_get_tab();
|
150 |
+
?>
|
151 |
+
<div id="icon-themes" class="icon32"><br/></div>
|
152 |
+
<h2 class="nav-tab-wrapper">
|
153 |
+
<?php foreach ($this->options as $k => $tab): ?>
|
154 |
+
<a class="nav-tab<?php if ($page == $k): ?> nav-tab-active<?php endif ?>"
|
155 |
+
href="<?php echo esc_url(add_query_arg('panel_page', $k)); ?>"><?php echo $tab['label'] ?></a>
|
156 |
+
<?php endforeach ?>
|
157 |
+
<?php do_action('yith_panel_after_tabs'); ?>
|
158 |
+
</h2>
|
159 |
+
|
160 |
+
<div class="wrap">
|
161 |
+
<?php $this->printBanner() ?>
|
162 |
+
<?php do_action('yith_panel_before_panel'); ?>
|
163 |
+
<form action="options.php" method="post">
|
164 |
+
|
165 |
+
<?php do_settings_sections($this->option_name); ?>
|
166 |
+
<?php settings_fields($this->option_group) ?>
|
167 |
+
|
168 |
+
<p class="submit">
|
169 |
+
<input type="hidden" name="panel_page" value="<?php echo $page ?>"/>
|
170 |
+
<input class="button-primary" type="submit" name="save_options" value="Save Options"/>
|
171 |
+
</p>
|
172 |
+
</form>
|
173 |
+
<?php do_action('yith_panel_after_panel'); ?>
|
174 |
+
</div>
|
175 |
+
<?php
|
176 |
+
}
|
177 |
+
|
178 |
+
/**
|
179 |
+
* Add the vars for the typography options
|
180 |
+
*/
|
181 |
+
public function js_typo_vars()
|
182 |
+
{
|
183 |
+
global $yith_panel_if_typography;
|
184 |
+
if (!isset($yith_panel_if_typography) || !$yith_panel_if_typography) {
|
185 |
+
return;
|
186 |
+
}
|
187 |
+
|
188 |
+
$web_fonts = array(
|
189 |
+
"Arial",
|
190 |
+
"Arial Black",
|
191 |
+
"Comic Sans MS",
|
192 |
+
"Courier New",
|
193 |
+
"Georgia",
|
194 |
+
"Impact",
|
195 |
+
"Lucida Console",
|
196 |
+
"Lucida Sans Unicode",
|
197 |
+
"Thaoma",
|
198 |
+
"Trebuchet MS",
|
199 |
+
"Verdana"
|
200 |
+
);
|
201 |
+
|
202 |
+
// http://niubbys.altervista.org/google_fonts.php
|
203 |
+
$google_fonts = file_get_contents(dirname(__FILE__) . '/assets/js/google_fonts.json');
|
204 |
+
?>
|
205 |
+
<script type="text/javascript">
|
206 |
+
var yit_google_fonts = '<?php echo $google_fonts ?>',
|
207 |
+
yit_web_fonts = '{"items":<?php echo json_encode( $web_fonts ) ?>}',
|
208 |
+
yit_family_string = '';
|
209 |
+
</script>
|
210 |
+
<?php
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Register a new settings option group
|
215 |
+
*
|
216 |
+
* @return void
|
217 |
+
* @access public
|
218 |
+
* @link http://codex.wordpress.org/Function_Reference/register_setting
|
219 |
+
* @link http://codex.wordpress.org/Function_Reference/add_settings_section
|
220 |
+
* @link http://codex.wordpress.org/Function_Reference/add_settings_field
|
221 |
+
*/
|
222 |
+
public function panel_register_setting()
|
223 |
+
{
|
224 |
+
$page = $this->_get_tab();
|
225 |
+
$tab = isset($this->options[$page]) ? $this->options[$page] : array();
|
226 |
+
|
227 |
+
if (!empty($tab['sections'])) {
|
228 |
+
//add sections and fields
|
229 |
+
foreach ($tab['sections'] as $section_name => $section) {
|
230 |
+
//add the section
|
231 |
+
add_settings_section(
|
232 |
+
$section_name,
|
233 |
+
$section['title'],
|
234 |
+
array($this, 'panel_section_content'),
|
235 |
+
$this->option_name
|
236 |
+
);
|
237 |
+
|
238 |
+
//add the fields
|
239 |
+
foreach ($section['fields'] as $option_name => $option) {
|
240 |
+
$option['id'] = $option_name;
|
241 |
+
$option['label_for'] = $option_name;
|
242 |
+
|
243 |
+
//register settings group
|
244 |
+
register_setting(
|
245 |
+
$this->option_group,
|
246 |
+
$option_name,
|
247 |
+
array($this, 'panel_sanitize')
|
248 |
+
);
|
249 |
+
|
250 |
+
add_settings_field(
|
251 |
+
$option_name,
|
252 |
+
$option['title'],
|
253 |
+
array($this, 'panel_field_content'),
|
254 |
+
$this->option_name,
|
255 |
+
$section_name,
|
256 |
+
$option
|
257 |
+
);
|
258 |
+
}
|
259 |
+
}
|
260 |
+
}
|
261 |
+
}
|
262 |
+
|
263 |
+
/**
|
264 |
+
* Display sections content
|
265 |
+
*
|
266 |
+
* @return void
|
267 |
+
* @access public
|
268 |
+
*/
|
269 |
+
public function panel_section_content($section)
|
270 |
+
{
|
271 |
+
$page = $this->_get_tab();
|
272 |
+
if (isset($this->options[$page]['sections'][$section['id']]['description'])) {
|
273 |
+
echo "<p class='section-description'>" . $this->options[$page]['sections'][$section['id']]['description'] . "</p>";
|
274 |
+
}
|
275 |
+
}
|
276 |
+
|
277 |
+
/**
|
278 |
+
* Sanitize the option's value
|
279 |
+
*
|
280 |
+
* @param array $input
|
281 |
+
*
|
282 |
+
* @return array
|
283 |
+
* @access public
|
284 |
+
*/
|
285 |
+
public function panel_sanitize($input)
|
286 |
+
{
|
287 |
+
return apply_filters('yith_panel_sanitize', $input);
|
288 |
+
}
|
289 |
+
|
290 |
+
/**
|
291 |
+
* Get the active tab. If the page isn't provided, the function
|
292 |
+
* will return the first tab name
|
293 |
+
*
|
294 |
+
* @return string
|
295 |
+
* @access protected
|
296 |
+
*/
|
297 |
+
public function _get_tab()
|
298 |
+
{
|
299 |
+
$panel_page = !empty($_REQUEST['panel_page']) ? sanitize_title_for_query($_REQUEST['panel_page']) : '';
|
300 |
+
$tabs = array_keys($this->options);
|
301 |
+
return !empty($panel_page) ? $panel_page : $tabs[0];
|
302 |
+
}
|
303 |
+
|
304 |
+
/**
|
305 |
+
* Enqueue scripts and styles
|
306 |
+
*
|
307 |
+
* @return void
|
308 |
+
* @access public
|
309 |
+
*/
|
310 |
+
public function panel_enqueue($hook)
|
311 |
+
{
|
312 |
+
global $pagenow;
|
313 |
+
|
314 |
+
if ($pagenow == $this->_submenu[0] && isset($_GET['page']) && $_GET['page'] == $this->_submenu[4]) {
|
315 |
+
wp_enqueue_style('wp-color-picker');
|
316 |
+
wp_enqueue_style('yith-ywzm-jquery-ui', plugin_dir_url(__FILE__) . 'assets/css/jquery-ui.css');
|
317 |
+
wp_enqueue_script('jquery-ui-datepicker');
|
318 |
+
|
319 |
+
wp_enqueue_style('yith-panel-css', plugin_dir_url(__FILE__) . 'assets/css/yith-panel.css', array('wp-color-picker'), $this->version);
|
320 |
+
wp_enqueue_script('yith-panel-js', plugin_dir_url(__FILE__) . 'assets/js/yith-panel.js', array(
|
321 |
+
'jquery',
|
322 |
+
'wp-color-picker'
|
323 |
+
), $this->version, true);
|
324 |
+
|
325 |
+
wp_enqueue_media();
|
326 |
+
|
327 |
+
do_action('yith_panel_enqueue');
|
328 |
+
}
|
329 |
+
}
|
330 |
+
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Display field content
|
334 |
+
*
|
335 |
+
* @return void
|
336 |
+
* @access public
|
337 |
+
*/
|
338 |
+
public function panel_field_content($field)
|
339 |
+
{
|
340 |
+
$value = get_option($field['id'], isset($field['std']) ? $field['std'] : '');
|
341 |
+
$id = $field['id'];
|
342 |
+
$name = $field['id'];
|
343 |
+
|
344 |
+
$echo = '';
|
345 |
+
|
346 |
+
switch ($field['type']) {
|
347 |
+
case 'text':
|
348 |
+
$echo = "<input type='text' id='{$id}' name='{$name}' value='{$value}' class='regular-text code' />";
|
349 |
+
|
350 |
+
if (isset($field['description']) && $field['description'] != '') {
|
351 |
+
$echo .= "<p class='description'>{$field['description']}</p>";
|
352 |
+
}
|
353 |
+
break;
|
354 |
+
|
355 |
+
case 'textarea':
|
356 |
+
$echo = "<textarea name='{$name}' id='{$id}' class='large-text code' rows='10' cols='50'>{$value}</textarea>";
|
357 |
+
if (isset($field['description']) && $field['description'] != '') {
|
358 |
+
$echo .= "<p class='description'>{$field['description']}</p>";
|
359 |
+
}
|
360 |
+
break;
|
361 |
+
|
362 |
+
case 'checkbox':
|
363 |
+
$echo = "<input type='checkbox' id='{$id}' name='{$name}' value='1' " . checked($value, true, false) . " />";
|
364 |
+
if (isset($field['description']) && $field['description'] != '') {
|
365 |
+
$echo .= " <label for='{$id}'><span class='description'>{$field['description']}</span></label>";
|
366 |
+
}
|
367 |
+
break;
|
368 |
+
|
369 |
+
case 'select':
|
370 |
+
$echo = "<select name='{$name}' id='{$id}'>";
|
371 |
+
foreach ($field['options'] as $v => $label) {
|
372 |
+
$echo .= "<option value='{$v}'" . selected($value, $v, false) . ">{$label}</option>";
|
373 |
+
}
|
374 |
+
$echo .= "</select>";
|
375 |
+
if (isset($field['description']) && $field['description'] != '') {
|
376 |
+
$echo .= "<p class='description'>{$field['description']}</p>";
|
377 |
+
}
|
378 |
+
break;
|
379 |
+
|
380 |
+
case 'skin':
|
381 |
+
$echo = "<select name='{$name}' id='{$id}' class='skin' data-path='{$field['path']}'>";
|
382 |
+
foreach ($field['options'] as $v => $label) {
|
383 |
+
$echo .= "<option value='{$v}'" . selected($value, $v, false) . ">{$label}</option>";
|
384 |
+
}
|
385 |
+
$echo .= "</select>";
|
386 |
+
if (isset($field['description']) && $field['description'] != '') {
|
387 |
+
$echo .= "<p class='description'>{$field['description']}</p><div class='skin-preview'></div>";
|
388 |
+
}
|
389 |
+
break;
|
390 |
+
|
391 |
+
case 'number':
|
392 |
+
$mms = '';
|
393 |
+
if (isset($field['min'])) {
|
394 |
+
$mms .= " min='{$field['min']}'";
|
395 |
+
}
|
396 |
+
|
397 |
+
if (isset($field['max'])) {
|
398 |
+
$mms .= " max='{$field['max']}'";
|
399 |
+
}
|
400 |
+
|
401 |
+
if (isset($field['step'])) {
|
402 |
+
$mms .= " step='{$field['step']}'";
|
403 |
+
}
|
404 |
+
|
405 |
+
$echo = "<input type='number' id='{$id}' name='{$name}' value='{$value}' class='small-text' {$mms} />";
|
406 |
+
if (isset($field['description']) && $field['description'] != '') {
|
407 |
+
$echo .= "<p class='description'>{$field['description']}</p>";
|
408 |
+
}
|
409 |
+
break;
|
410 |
+
|
411 |
+
case 'colorpicker':
|
412 |
+
$std = isset($field['std']) ? $field['std'] : '';
|
413 |
+
|
414 |
+
$echo = "<input type='text' id='{$id}' name='{$name}' value='{$value}' class='medium-text code panel-colorpicker' data-default-color='{$std}' />";
|
415 |
+
if (isset($field['description']) && $field['description'] != '') {
|
416 |
+
$echo .= "<p class='description'>{$field['description']}</p>";
|
417 |
+
}
|
418 |
+
break;
|
419 |
+
|
420 |
+
case 'datepicker':
|
421 |
+
$std = isset($field['std']) ? $field['std'] : array(
|
422 |
+
'date' => '',
|
423 |
+
'hh' => 0,
|
424 |
+
'mm' => 0,
|
425 |
+
'ss' => 0
|
426 |
+
);
|
427 |
+
$value = !empty($value) ? $value : array('date' => '', 'hh' => 0, 'mm' => 0, 'ss' => 0);
|
428 |
+
|
429 |
+
$echo = "<input type='text' id='{$id}_date' name='{$name}[date]' value='{$value['date']}' class='medium-text code panel-datepicker' colorpicker='" . __('Select a date', 'yit') . "' /> - ";
|
430 |
+
$echo .= "<input type='text' id='{$id}_hh' name='{$name}[hh]' value='{$value['hh']}' class='small-text code' colorpicker='" . __('Hours', 'yit') . "' /> : ";
|
431 |
+
$echo .= "<input type='text' id='{$id}_mm' name='{$name}[mm]' value='{$value['mm']}' class='small-text code' colorpicker='" . __('Minutes', 'yit') . "' /> : ";
|
432 |
+
$echo .= "<input type='text' id='{$id}_ss' name='{$name}[ss]' value='{$value['ss']}' class='small-text code' colorpicker='" . __('Minutes', 'yit') . "' />";
|
433 |
+
if (isset($field['description']) && $field['description'] != '') {
|
434 |
+
$echo .= "<p class='description'>{$field['description']}</p>";
|
435 |
+
}
|
436 |
+
break;
|
437 |
+
|
438 |
+
case 'upload':
|
439 |
+
$echo = '<div class="uploader">';
|
440 |
+
$echo .= " <input type='text' id='{$id}' name='{$name}' value='{$value}' class='regular-text code' /> <input type='button' name='' id='{$id}_button' class='button' value='" . __('Upload', 'yit') . "'>";
|
441 |
+
$echo .= '</div>';
|
442 |
+
if (isset($field['description']) && $field['description'] != '') {
|
443 |
+
$echo .= "<p class='description'>{$field['description']}</p>";
|
444 |
+
}
|
445 |
+
break;
|
446 |
+
|
447 |
+
case 'checkboxes':
|
448 |
+
$echo = '<div class="checkboxes">';
|
449 |
+
foreach ($field['options'] as $check_value => $check_label) {
|
450 |
+
$echo .= "<label><input type='checkbox' id='{$id}_{$check_value}' name='{$name}[]' value='$check_value' " . checked(in_array($check_value, $value), true, false) . " /> {$check_label}</label><br />";
|
451 |
+
}
|
452 |
+
|
453 |
+
$echo .= " <p class='description'>{$field['description']}</p>";
|
454 |
+
break;
|
455 |
+
|
456 |
+
case 'typography':
|
457 |
+
$value = wp_parse_args($value, $field['std']); ?>
|
458 |
+
<div class="typography_container typography">
|
459 |
+
<div class="option">
|
460 |
+
<!-- Size -->
|
461 |
+
<div class="spinner_container">
|
462 |
+
<input class="typography_size number small-text" type="number"
|
463 |
+
name="<?php echo $name ?>[size]" id="<?php echo $id ?>-size"
|
464 |
+
value="<?php echo $value['size'] ?>"
|
465 |
+
data-min="<?php if (isset($field['min'])) {
|
466 |
+
echo $field['min'];
|
467 |
+
} ?>" data-max="<?php if (isset($field['max'])) {
|
468 |
+
echo $field['max'];
|
469 |
+
} ?>"/>
|
470 |
+
</div>
|
471 |
+
|
472 |
+
<!-- Unit -->
|
473 |
+
<div class="select-wrapper font-unit">
|
474 |
+
<select class="typography_unit" name="<?php echo $name ?>[unit]"
|
475 |
+
id="<?php echo $id ?>-unit">
|
476 |
+
<option
|
477 |
+
value="px" <?php selected($value['unit'], 'px') ?>><?php _e('px', 'yit') ?></option>
|
478 |
+
<option
|
479 |
+
value="em" <?php selected($value['unit'], 'em') ?>><?php _e('em', 'yit') ?></option>
|
480 |
+
<option
|
481 |
+
value="pt" <?php selected($value['unit'], 'pt') ?>><?php _e('pt', 'yit') ?></option>
|
482 |
+
<option
|
483 |
+
value="rem" <?php selected($value['unit'], 'rem') ?>><?php _e('rem', 'yit') ?></option>
|
484 |
+
</select>
|
485 |
+
</div>
|
486 |
+
|
487 |
+
<!-- Family -->
|
488 |
+
<div class="select-wrapper font-family">
|
489 |
+
<select class="typography_family" name="<?php echo $name ?>[family]"
|
490 |
+
id="<?php echo $id ?>-family" data-instance="false">
|
491 |
+
<?php if ($value['family']): ?>
|
492 |
+
<option
|
493 |
+
value="<?php echo stripslashes($value['family']) ?>"><?php echo $value['family'] ?></option>
|
494 |
+
<?php else: ?>
|
495 |
+
<option value=""><?php _e('Select a font family', 'yit') ?></option>
|
496 |
+
<?php endif ?>
|
497 |
+
</select>
|
498 |
+
</div>
|
499 |
+
|
500 |
+
<!-- Style -->
|
501 |
+
<div class="select-wrapper font-style">
|
502 |
+
<select class="typography_style" name="<?php echo $name ?>[style]"
|
503 |
+
id="<?php echo $id ?>-style">
|
504 |
+
<option
|
505 |
+
value="regular" <?php selected($value['style'], 'regular') ?>><?php _e('Regular', 'yit') ?></option>
|
506 |
+
<option
|
507 |
+
value="bold" <?php selected($value['style'], 'bold') ?>><?php _e('Bold', 'yit') ?></option>
|
508 |
+
<option
|
509 |
+
value="extra-bold" <?php selected($value['style'], 'extra-bold') ?>><?php _e('Extra bold', 'yit') ?></option>
|
510 |
+
<option
|
511 |
+
value="italic" <?php selected($value['style'], 'italic') ?>><?php _e('Italic', 'yit') ?></option>
|
512 |
+
<option
|
513 |
+
value="bold-italic" <?php selected($value['style'], 'bold-italic') ?>><?php _e('Italic bold', 'yit') ?></option>
|
514 |
+
</select>
|
515 |
+
</div>
|
516 |
+
|
517 |
+
<!-- Color -->
|
518 |
+
<input type='text' id='<?php echo $id ?>-color' name='<?php echo $name ?>[color]'
|
519 |
+
value='<?php echo $value['color'] ?>'
|
520 |
+
class='medium-text code panel-colorpicker typography_color'
|
521 |
+
data-default-color='<?php echo $field['std']['color'] ?>'/>
|
522 |
+
|
523 |
+
</div>
|
524 |
+
<div class="clear"></div>
|
525 |
+
<div class="font-preview">
|
526 |
+
<p>The quick brown fox jumps over the lazy dog</p>
|
527 |
+
<!-- Refresh -->
|
528 |
+
<div class="refresh_container">
|
529 |
+
<button class="refresh"><?php _e('Click to preview', 'yit') ?></button>
|
530 |
+
</div>
|
531 |
+
</div>
|
532 |
+
</div>
|
533 |
+
<?php
|
534 |
+
global $yith_panel_if_typography;
|
535 |
+
$yith_panel_if_typography = true;
|
536 |
+
break;
|
537 |
+
|
538 |
+
default:
|
539 |
+
do_action('yith_panel_field_' . $field['type']);
|
540 |
+
break;
|
541 |
+
}
|
542 |
+
|
543 |
+
echo $echo;
|
544 |
+
}
|
545 |
+
|
546 |
+
/**
|
547 |
+
* Print the banner
|
548 |
+
*
|
549 |
+
* @access protected
|
550 |
+
* @return void
|
551 |
+
*/
|
552 |
+
public function printBanner()
|
553 |
+
{
|
554 |
+
if (!$this->banner_url || !$this->banner_img) {
|
555 |
+
return;
|
556 |
+
}
|
557 |
+
?>
|
558 |
+
<div class="yith_banner">
|
559 |
+
<a href="<?php echo $this->banner_url ?>" target="_blank">
|
560 |
+
<img src="<?php echo $this->banner_img ?>" alt=""/>
|
561 |
+
</a>
|
562 |
+
</div>
|
563 |
+
<?php
|
564 |
+
}
|
565 |
+
}
|
566 |
}
|