Version Description
- minor tweaks & version bump
- removed ShortPixel aff integration
Download this release
Release Info
Developer | machothemes |
Plugin | Speed Booster Pack |
Version | 3.7.2 |
Comparing to | |
See all releases |
Code changes from version 3.6.1 to 3.7.2
- css/dynamic-css.php +0 -111
- css/jquery-ui.min.css +0 -7
- css/sbp_style.min.css +0 -1
- css/style.css +868 -0
- css/style.dev.css +0 -622
- css/vendors/jquery-ui/images/ui-icons_444444_256x240.png +0 -0
- css/vendors/jquery-ui/images/ui-icons_555555_256x240.png +0 -0
- css/vendors/jquery-ui/images/ui-icons_777620_256x240.png +0 -0
- css/vendors/jquery-ui/images/ui-icons_777777_256x240.png +0 -0
- css/vendors/jquery-ui/images/ui-icons_cc0000_256x240.png +0 -0
- css/vendors/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
- css/vendors/jquery-ui/jquery-ui.min.css +7 -0
- feedback/class-epsilon-feedback.php +271 -0
- feedback/class-epsilon-plugin-request.php +225 -0
- inc/core.php +447 -374
- inc/crazy-lazy.class.php +0 -172
- inc/crazy-lazy.php +0 -37
- inc/css-optimizer.php +78 -54
- inc/images/icon-128x128.jpg +0 -0
- inc/images/icon-16x16.png +0 -0
- inc/js/admin-scripts.js +100 -0
- inc/js/jquery.unveil.js +0 -72
- inc/js/jquery.unveil.min.js +0 -12
- inc/js/lazyload.js +0 -91
- inc/js/lazyload.min.js +0 -8
- inc/js/plugin-install.js +55 -0
- inc/js/post-tabs-edit.js +0 -9
- inc/js/sbp-hide.js +0 -16
- inc/js/sbp-slide.js +0 -13
- inc/sbp-minifier.php +2 -1
- inc/settings.php +229 -263
- inc/template/notice.php +1 -1
- inc/template/options.php +634 -444
- inc/use-google-libraries.php +37 -25
- lang/es_ES.mo +0 -0
- lang/es_ES.po +0 -372
- lang/ro_RO.mo +0 -0
- lang/ro_RO.po +0 -374
- lang/sb-pack.mo +0 -0
- lang/sb-pack.po +0 -339
- lang/sb-pack.pot +0 -339
- readme.txt +46 -9
- speed-booster-pack.php +179 -189
- widgets/dashboard-widget.php +70 -0
css/dynamic-css.php
DELETED
@@ -1,111 +0,0 @@
|
|
1 |
-
<style type="text/css">
|
2 |
-
|
3 |
-
/*progress-bar-time*/
|
4 |
-
|
5 |
-
@-webkit-keyframes progress-bar-time {
|
6 |
-
from { }
|
7 |
-
to { width: 5<?php echo $page_time; ?>% }
|
8 |
-
}
|
9 |
-
|
10 |
-
@-moz-keyframes progress-bar-time {
|
11 |
-
from { }
|
12 |
-
to { width: 5<?php echo $page_time; ?>% }
|
13 |
-
}
|
14 |
-
|
15 |
-
@-ms-keyframes progress-bar-time {
|
16 |
-
from { }
|
17 |
-
to { width: 5<?php echo $page_time; ?>% }
|
18 |
-
}
|
19 |
-
|
20 |
-
@-o-keyframes progress-bar-time {
|
21 |
-
from { }
|
22 |
-
to { width: 5<?php echo $page_time; ?>% }
|
23 |
-
}
|
24 |
-
|
25 |
-
@keyframes progress-bar-time {
|
26 |
-
from { }
|
27 |
-
to { width: 5<?php echo $page_time; ?>% }
|
28 |
-
}
|
29 |
-
|
30 |
-
/*progress-bar-queries*/
|
31 |
-
|
32 |
-
@-webkit-keyframes progress-bar-queries {
|
33 |
-
from { }
|
34 |
-
to { width: <?php echo $page_queries; ?>% }
|
35 |
-
}
|
36 |
-
|
37 |
-
@-moz-keyframes progress-bar-queries {
|
38 |
-
from { }
|
39 |
-
to { width: <?php echo $page_queries; ?>% }
|
40 |
-
}
|
41 |
-
|
42 |
-
@-ms-keyframes progress-bar-queries {
|
43 |
-
from { }
|
44 |
-
to { width: <?php echo $page_queries; ?>% }
|
45 |
-
}
|
46 |
-
|
47 |
-
@-o-keyframes progress-bar-queries {
|
48 |
-
from { }
|
49 |
-
to { width: <?php echo $page_queries; ?>% }
|
50 |
-
}
|
51 |
-
|
52 |
-
@keyframes progress-bar-queries {
|
53 |
-
from { }
|
54 |
-
to { width: <?php echo $page_queries; ?>% }
|
55 |
-
}
|
56 |
-
|
57 |
-
<?php
|
58 |
-
|
59 |
-
if ( $page_time >=1.00 and $page_time <=2.00 ) { ?>
|
60 |
-
|
61 |
-
.wrap .sbp-progress.time > span {
|
62 |
-
background-color: #f1a165;
|
63 |
-
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f1a165),color-stop(1, #f36d0a));
|
64 |
-
background-image: -webkit-linear-gradient(top, #f1a165, #f36d0a);
|
65 |
-
background-image: -moz-linear-gradient(top, #f1a165, #f36d0a);
|
66 |
-
background-image: -ms-linear-gradient(top, #f1a165, #f36d0a);
|
67 |
-
background-image: -o-linear-gradient(top, #f1a165, #f36d0a);
|
68 |
-
}
|
69 |
-
|
70 |
-
<?php }
|
71 |
-
|
72 |
-
if ( $page_time >=2.00 ) { ?>
|
73 |
-
.wrap .sbp-progress.time > span {
|
74 |
-
background-color: #FB8A88;
|
75 |
-
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #FB8A88),color-stop(1, #FF4136));
|
76 |
-
background-image: -webkit-linear-gradient(top, #FB8A88, #FF4136);
|
77 |
-
background-image: -moz-linear-gradient(top, #FB8A88, #FF4136);
|
78 |
-
background-image: -ms-linear-gradient(top, #FB8A88, #FF4136);
|
79 |
-
background-image: -o-linear-gradient(top, #f1a165, #f36d0a);
|
80 |
-
}
|
81 |
-
|
82 |
-
<?php }
|
83 |
-
|
84 |
-
if ( $page_queries >=100 and $page_queries <=200 ) { ?>
|
85 |
-
|
86 |
-
.wrap .sbp-progress.queries > span {
|
87 |
-
background-color: #f1a165;
|
88 |
-
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f1a165),color-stop(1, #f36d0a));
|
89 |
-
background-image: -webkit-linear-gradient(top, #f1a165, #f36d0a);
|
90 |
-
background-image: -moz-linear-gradient(top, #f1a165, #f36d0a);
|
91 |
-
background-image: -ms-linear-gradient(top, #f1a165, #f36d0a);
|
92 |
-
background-image: -o-linear-gradient(top, #f1a165, #f36d0a);
|
93 |
-
}
|
94 |
-
|
95 |
-
<?php }
|
96 |
-
|
97 |
-
if ( $page_queries >=200 ) { ?>
|
98 |
-
.wrap .sbp-progress.queries > span {
|
99 |
-
background-color: #FB8A88;
|
100 |
-
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #FB8A88),color-stop(1, #FF4136));
|
101 |
-
background-image: -webkit-linear-gradient(top, #FB8A88, #FF4136);
|
102 |
-
background-image: -moz-linear-gradient(top, #FB8A88, #FF4136);
|
103 |
-
background-image: -ms-linear-gradient(top, #FB8A88, #FF4136);
|
104 |
-
background-image: -o-linear-gradient(top, #f1a165, #f36d0a);
|
105 |
-
}
|
106 |
-
|
107 |
-
<?php }
|
108 |
-
|
109 |
-
?>
|
110 |
-
|
111 |
-
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
css/jquery-ui.min.css
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
/*! jQuery UI - v1.11.0 - 2014-06-26
|
2 |
-
* http://jqueryui.com
|
3 |
-
* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
|
4 |
-
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
|
5 |
-
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
|
6 |
-
|
7 |
-
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
css/sbp_style.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.postbox,.wrap .sb-pack .sbp-box{position:relative;overflow:hidden}.wrap .sb-pack .welcome-panel .welcome-panel-column:first-child{display:block!important}.wrap .sb-pack .welcome-panel h4{margin:1.33em 0 20px}.wrap .sb-pack .sbp-inline-wrap{display:inline-block;margin-right:10px;vertical-align:top}.wrap .sb-pack .sbp-more-width{width:300px}.wrap .sb-pack input[type=text]{line-height:1.3}.wrap .sb-pack .sbp-all-enqueued{background-color:#FCFCFC;padding:5px 0 10px;border:1px solid #ddd;width:auto}.wrap .sb-pack .sbp-title-scripts,.wrap .sb-pack .sbp-width{min-width:200px;width:auto;padding:0 20px}.wrap .sb-pack .sbp-title-scripts{display:inline-block;font-weight:700}.wrap .sb-pack #poststuff h2{font-size:32px;padding:9px 15px 20px 0;font-weight:700;line-height:1.3}.wrap .sb-pack #poststuff .main-sbp-title h3{font-size:24px;padding:8px 0 20px;font-weight:700;color:#FA5148}.wrap .sb-pack .handlediv{color:#80828F;padding: 10px 0 0;cursor:pointer}.wrap .sb-pack .meta-box-sortables .postbox .handlediv:before{right:20px;font:400 30px/1.2 dashicons;padding:8px 0;content:"\f343"}.wrap .sb-pack .meta-box-sortables .postbox.closed .handlediv:before{content:"\f347"}.wrap .sb-pack .postbox .inside{padding:0 20px 20px}.wrap .sb-pack #poststuff .inside{margin:26px 0 0}.wrap .sb-pack #poststuff h3{font-size:24px;padding:8px 20px;font-weight:700;display:inline-block}.wrap .sb-pack .sbp-columns1{display:inline-block}.wrap .sb-pack .sbp-columns2{display:inline-block;max-width:73%}.wrap .sb-pack .sbp-title-div{height:50px;clear:both}.wrap .sb-pack .sbp-amount{background-color:transparent;border:none;box-shadow:none;font-size:16px}.wrap .sb-pack .sbp-slider{width:40%}.wrap .sb-pack p{color:#464646;line-height:1.6}.wrap .sb-pack .debug-info{margin-top:19px;border:1px solid #1A9E51;padding:17px 10px;background-color:#2DCB73;color:#FFF;font-size:16px;line-height:1.6;text-shadow:1px 1px #1A9E51}.wrap .sb-pack .td-margin{margin:1.5em 0}.wrap .sb-pack .sbp-div-head{border-bottom:1px solid #E1E1E1;margin:0 0 5px;padding:0 0 5px}.wrap .sb-pack .td-border{border-bottom:1px solid #E1E1E1;margin:10px 0}.wrap .sb-pack .td-border-last{border-bottom:1px solid #E1E1E1;margin:1.5em 0}.wrap .sb-pack .sbp-radio-content{display:block}.wrap .sb-pack .sbp-radio-content label{display:block!important}.wrap .sb-pack .sbp-box hr{margin-left:70px}.wrap .sb-pack .sbp-1{padding-top:10px}.wrap .sb-pack .sbp-2{padding-bottom:15px}.wrap .sb-pack .sbp-3{padding-top:5px}.wrap .sb-pack .sbp-title-div .sbp-title{font-size:23px;font-weight:300;line-height:26px;padding-top:16px;padding-right:15px;display:block;float:left}.wrap .sb-pack .sbp-box{background:#fff;border:1px solid #E5E5E5;box-shadow:0 1px 1px rgba(0,0,0,.04);padding:15px;margin-bottom:15px}.wrap .sb-pack .ui-widget-content,.wrap .sb-pack label:before{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.wrap .sb-pack .sbp-box p{margin:5px 0 5px 70px;color:#777}.wrap .sb-pack .sbp-infos{display:block;margin:0 auto;padding-left:70px;font-weight:700;color:#777}.wrap .sb-pack .sbp-infos span{color:#777;font-weight:400}.wrap .sb-pack .sbp-infos-title{font-weight:700;color:#777}.wrap .sb-pack .sbp-box-legend,.wrap .sb-pack .sbp-box-version{position:absolute;left:0;top:0;height:100%}.wrap .sb-pack .sbp-box-version{background:#80828F;padding:20px 15px}.wrap .sb-pack .sbp-box-legend{background:#FCC500;padding:15px}.wrap .sb-pack .sbp-box-legend:hover{background-color:#F39C12}.wrap .sb-pack .sbp-box-version:hover{background-color:#6C6E79}.wrap .sb-pack .sbp-icon-help,.wrap .sb-pack .sbp-icon-version{color:#FFF;font-size:25px}.wrap .sb-pack .sbp-icon:before{content:"\f185";display:inline-block;-webkit-font-smoothing:antialiased;font:400 36px/.6 dashicons;vertical-align:sub;color:#FA5148;padding-right:5px}.wrap .sb-pack .sbp-icon-information:before{content:"\f348";display:inline-block;-webkit-font-smoothing:antialiased;font:400 28px/1 dashicons;vertical-align:middle;color:#C9D6E2;padding-right:5px}.wrap .sb-pack label{display:inline-block;cursor:pointer;position:relative;padding-left:35px;font-size:16px}.wrap .sb-pack label:before{content:"\2717";font-size:16px;-webkit-font-smoothing:antialiased;text-align:center;color:#fff;display:inline-block;width:26px;height:26px;margin-right:10px;position:absolute;left:0;background:#C9D6E2;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);border:1px solid #B2BFCA}.wrap .sb-pack input[type=checkbox],.wrap .sb-pack input[type=radio]{display:none}.wrap .sb-pack input[type=checkbox]:checked+label:before{content:"\2714";background:#2DCB73;text-shadow:1px 1px 1px #148D44;border:1px solid #1A9E51;font-size:16px;-webkit-font-smoothing:antialiased;color:#fff;text-align:center}.wrap .sb-pack .sbp-icon-version:before{content:"\f348";display:inline-block;-webkit-font-smoothing:antialiased;font:400 30px/1 dashicons;vertical-align:top}.wrap .sb-pack .sbp-icon-help:before{content:"\f123";display:inline-block;-webkit-font-smoothing:antialiased;font:400 30px/1 dashicons;vertical-align:top}.wrap .sb-pack .sbp-stats{font-size:16px;line-height:1.5}.wrap .sb-pack .ui-widget-content .ui-state-default,.wrap .sb-pack .ui-widget-header .ui-state-default,.wrap .sb-pack.ui-state-default{border:1px solid #1A9E51;background-color:#2DCB73;font-weight:400;color:#555;outline:0;cursor:pointer}.wrap .sb-pack .ui-corner-all,.wrap .sb-pack .ui-corner-bl,.wrap .sb-pack .ui-corner-bottom,.wrap .sb-pack .ui-corner-left{border-bottom-left-radius:0}.wrap .sb-pack .ui-state-default:before,.wrap .sb-pack .ui-widget-content .ui-state-default:before,.wrap .sb-pack .ui-widget-header .ui-state-default:before{content:"\2630";display:inline-block;-webkit-font-smoothing:antialiased;color:#fff;font-weight:700;text-shadow:0 1px #1A9E51;line-height:1.8em}.wrap .sb-pack .ui-state-default a,.wrap .sb-pack .ui-state-default a:link,.wrap .sb-pack .ui-state-default a:visited{color:#fff;text-decoration:none}.wrap .sb-pack .ui-state-focus,.wrap .sb-pack .ui-state-hover,.wrap .sb-pack .ui-widget-content .ui-state-focus,.wrap .sb-pack .ui-widget-content .ui-state-hover,.wrap .sb-pack .ui-widget-header .ui-state-focus,.wrap .sb-pack .ui-widget-header .ui-state-hover{background:#3CE281}.wrap .sb-pack .ui-corner-all,.wrap .sb-pack .ui-corner-left,.wrap .sb-pack .ui-corner-tl,.wrap .sb-pack .ui-corner-top{border-top-left-radius:0}.wrap .sb-pack .ui-corner-all,.wrap .sb-pack .ui-corner-right,.wrap .sb-pack .ui-corner-top,.wrap .sb-pack .ui-corner-tr{border-top-right-radius:0}.wrap .sb-pack .ui-corner-all,.wrap .sb-pack .ui-corner-bottom,.wrap .sb-pack .ui-corner-br,.wrap .sb-pack .ui-corner-right{border-bottom-right-radius:0}.wrap .sb-pack .ui-slider-horizontal{height:1.3em}.wrap .sb-pack .ui-slider .ui-slider-handle{width:1.8em;height:1.8em;cursor:pointer;text-align:center}.wrap .sb-pack .ui-widget-content{box-shadow:inset 0 1px 2px rgba(0,0,0,.1);border:1px solid #B2BFCA;background:#F1F2F7;color:#222}.wrap .sb-pack .sbp-progress.queries,.wrap .sb-pack .sbp-progress.time{height:30px;width:77%;display:inline-block;position:relative;background-color:#F1F2F7;overflow:hidden;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.wrap .sbp-progress.queries>span,.wrap .sbp-progress.time>span{background-color:#7EDBA5;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#7EDBA5),color-stop(1,#2DCB73));background-image:-webkit-linear-gradient(top,#7EDBA5,#2DCB73);background-image:-moz-linear-gradient(top,#7EDBA5,#2DCB73);background-image:-ms-linear-gradient(top,#7EDBA5,#2DCB73);background-image:-o-linear-gradient(top,#7EDBA5,#f36d0a);color:#fff;width:0;max-width:98%;float:left;display:block;height:100%;position:relative;overflow:hidden}.wrap .sb-pack .sbp-progress.time>span{-webkit-animation:progress-bar-time 2s 1 forwards;-moz-animation:progress-bar-time 2s 1 forwards;-ms-animation:progress-bar-time 2s 1 forwards;-o-animation:progress-bar-time 2s 1 forwards;animation:progress-bar-time 2s 1 forwards}.wrap .sb-pack .sbp-progress.queries>span{-webkit-animation:progress-bar-queries 2s 1 forwards;-moz-animation:progress-bar-queries 2s 1 forwards;-ms-animation:progress-bar-queries 2s 1 forwards;-o-animation:progress-bar-queries 2s 1 forwards;animation:progress-bar-queries 2s 1 forwards}.wrap .sb-pack .sbp-values{float:right;padding:0 5px;background-color:#1AB4EF;color:#fff;width:18%;height:30px;line-height:30px;text-align:center;text-shadow:0 -2px #1AB4EF}.wrap .sb-pack .sbp-numbers{-webkit-animation:opacity 2s;-moz-animation:opacity 2s;-ms-animation:opacity 2s;-o-animation:opacity 2s;animation:opacity 2s;transition-delay:2s;-moz-transition-delay:2s;-webkit-transition-delay:2s;-o-transition-delay:2s;font-size:16px}@keyframes opacity{from{opacity:0}to{opacity:1}}@-moz-keyframes opacity{from{opacity:0}to{opacity:1}}@-webkit-keyframes opacity{from{opacity:0}to{opacity:1}}@-ms-keyframes opacity{from{opacity:0}to{opacity:1}} @-o-keyframes opacity{from{opacity:0}to{opacity:1}} @media screen and (max-width:783px){.wrap .sb-pack input.regular-text{width:14em}}@media screen and (min-width:784px){.wrap .sb-pack input.regular-text{width:45em}}
|
|
css/style.css
ADDED
@@ -0,0 +1,868 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* `border-box`... ALL THE THINGS! */
|
2 |
+
html {
|
3 |
+
box-sizing: border-box;
|
4 |
+
}
|
5 |
+
|
6 |
+
*,
|
7 |
+
*:before,
|
8 |
+
*:after {
|
9 |
+
box-sizing: inherit;
|
10 |
+
}
|
11 |
+
|
12 |
+
.sb-pack-show {
|
13 |
+
display: block;
|
14 |
+
}
|
15 |
+
|
16 |
+
.sb-pack-hide {
|
17 |
+
display: none;
|
18 |
+
}
|
19 |
+
|
20 |
+
h3.sbp-emphasize {
|
21 |
+
color: #fa5148;
|
22 |
+
}
|
23 |
+
|
24 |
+
img.sbp-sp {
|
25 |
+
float: left;
|
26 |
+
margin-right: 20px;
|
27 |
+
}
|
28 |
+
|
29 |
+
p.description-link {
|
30 |
+
margin-top: -5px;
|
31 |
+
}
|
32 |
+
|
33 |
+
.wrap .sb-pack .welcome-panel .welcome-panel-column:first-child {
|
34 |
+
display: block !important;
|
35 |
+
}
|
36 |
+
|
37 |
+
.wrap .sb-pack .welcome-panel h4 {
|
38 |
+
margin: 1.33em 0 20px;
|
39 |
+
}
|
40 |
+
|
41 |
+
.wrap .sb-pack .sbp-inline-wrap {
|
42 |
+
display: inline-block;
|
43 |
+
margin-right: 10px;
|
44 |
+
vertical-align: top;
|
45 |
+
}
|
46 |
+
|
47 |
+
.wrap .sb-pack .sbp-more-width {
|
48 |
+
width: 300px;
|
49 |
+
}
|
50 |
+
|
51 |
+
.wrap .sb-pack .sbp-all-enqueued {
|
52 |
+
background-color: #fcfcfc;
|
53 |
+
padding: 5px 0px 10px;
|
54 |
+
border: 1px solid #ddd;
|
55 |
+
width: auto;
|
56 |
+
}
|
57 |
+
|
58 |
+
.wrap .sb-pack .sbp-width {
|
59 |
+
min-width: 200px;
|
60 |
+
width: auto;
|
61 |
+
padding: 0 20px;
|
62 |
+
}
|
63 |
+
|
64 |
+
.wrap .sb-pack .sbp-title-scripts {
|
65 |
+
min-width: 200px;
|
66 |
+
width: auto;
|
67 |
+
display: inline-block;
|
68 |
+
font-weight: 700;
|
69 |
+
padding: 0 20px;
|
70 |
+
}
|
71 |
+
|
72 |
+
.wrap .sb-pack .sbp-columns1 {
|
73 |
+
display: inline-block;
|
74 |
+
}
|
75 |
+
|
76 |
+
.wrap .sb-pack .sbp-columns2 {
|
77 |
+
display: inline-block;
|
78 |
+
max-width: 73%;
|
79 |
+
}
|
80 |
+
|
81 |
+
.wrap .sb-pack .sbp-title-div {
|
82 |
+
height: 50px;
|
83 |
+
clear: both;
|
84 |
+
}
|
85 |
+
|
86 |
+
.wrap .sb-pack .sbp-amount {
|
87 |
+
background-color: transparent;
|
88 |
+
border: medium none;
|
89 |
+
box-shadow: none;
|
90 |
+
}
|
91 |
+
|
92 |
+
.wrap .sb-pack .sbp-slider {
|
93 |
+
width: 40%;
|
94 |
+
}
|
95 |
+
|
96 |
+
.wrap .sb-pack p {
|
97 |
+
color: #464646;
|
98 |
+
}
|
99 |
+
|
100 |
+
.wrap .sb-pack p.sp-link {
|
101 |
+
text-align: center;
|
102 |
+
margin-bottom: 20px;
|
103 |
+
}
|
104 |
+
|
105 |
+
.wrap .sb-pack .td-margin {
|
106 |
+
margin: 1.5em 0 1.5em;
|
107 |
+
}
|
108 |
+
|
109 |
+
.wrap .sb-pack .sbp-div-head {
|
110 |
+
border-bottom: 1px solid #e1e1e1;
|
111 |
+
margin: 0 0 5px;
|
112 |
+
padding: 0 0 5px;
|
113 |
+
}
|
114 |
+
|
115 |
+
.wrap .sb-pack .td-border {
|
116 |
+
border-bottom: 1px solid #e1e1e1;
|
117 |
+
margin: 10px 0;
|
118 |
+
}
|
119 |
+
|
120 |
+
.wrap .sb-pack .td-border-last {
|
121 |
+
border-bottom: 1px solid #e1e1e1;
|
122 |
+
margin: 1.5em 0;
|
123 |
+
}
|
124 |
+
|
125 |
+
.wrap .sb-pack .sbp-radio-content {
|
126 |
+
display: block;
|
127 |
+
}
|
128 |
+
|
129 |
+
.wrap .sb-pack .sbp-radio-content label {
|
130 |
+
display: block !important;
|
131 |
+
}
|
132 |
+
|
133 |
+
.wrap .sb-pack .sbp-box hr {
|
134 |
+
margin-left: 70px;
|
135 |
+
}
|
136 |
+
|
137 |
+
.wrap .sb-pack .sbp-1 {
|
138 |
+
padding-top: 10px;
|
139 |
+
}
|
140 |
+
|
141 |
+
.wrap .sb-pack .sbp-2 {
|
142 |
+
padding-bottom: 15px;
|
143 |
+
}
|
144 |
+
|
145 |
+
.wrap .sb-pack .sbp-3 {
|
146 |
+
padding-top: 5px;
|
147 |
+
}
|
148 |
+
|
149 |
+
.wrap .sb-pack .sbp-title-div .sbp-title {
|
150 |
+
font-weight: 300;
|
151 |
+
line-height: 26px;
|
152 |
+
padding-top: 16px;
|
153 |
+
padding-right: 15px;
|
154 |
+
display: block;
|
155 |
+
float: left;
|
156 |
+
}
|
157 |
+
|
158 |
+
.wrap .sb-pack .sbp-box {
|
159 |
+
background: #fff;
|
160 |
+
border: 1px solid #e5e5e5;
|
161 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
162 |
+
padding: 15px;
|
163 |
+
margin-bottom: 15px;
|
164 |
+
position: relative;
|
165 |
+
overflow: hidden;
|
166 |
+
}
|
167 |
+
|
168 |
+
.wrap .sb-pack .sbp-box p {
|
169 |
+
margin: 5px 0 5px 70px;
|
170 |
+
color: #777;
|
171 |
+
}
|
172 |
+
|
173 |
+
.wrap .sb-pack .sbp-infos {
|
174 |
+
display: block;
|
175 |
+
margin: 0 auto;
|
176 |
+
padding-left: 70px;
|
177 |
+
font-weight: 700;
|
178 |
+
color: #777;
|
179 |
+
}
|
180 |
+
|
181 |
+
.wrap .sb-pack .sbp-infos span {
|
182 |
+
color: #777;
|
183 |
+
font-weight: 400;
|
184 |
+
}
|
185 |
+
|
186 |
+
.wrap .sb-pack .sbp-infos-title {
|
187 |
+
font-weight: 700;
|
188 |
+
color: #777;
|
189 |
+
}
|
190 |
+
|
191 |
+
.wrap .sb-pack .sbp-box-legend, .wrap .sb-pack .sbp-box-version {
|
192 |
+
position: absolute;
|
193 |
+
left: 0;
|
194 |
+
top: 0;
|
195 |
+
height: 100%;
|
196 |
+
}
|
197 |
+
|
198 |
+
.wrap .sb-pack .sbp-box-version {
|
199 |
+
background: none repeat scroll 0% 0% #80828f;
|
200 |
+
padding: 20px 15px;
|
201 |
+
}
|
202 |
+
|
203 |
+
.wrap .sb-pack .sbp-box-legend {
|
204 |
+
background: none repeat scroll 0% 0% #fcc500;
|
205 |
+
padding: 15px 15px;
|
206 |
+
}
|
207 |
+
|
208 |
+
.wrap .sb-pack .sbp-box-legend:hover {
|
209 |
+
background-color: #f39c12;
|
210 |
+
}
|
211 |
+
|
212 |
+
.wrap .sb-pack .sbp-box-version:hover {
|
213 |
+
background-color: #6c6e79;
|
214 |
+
}
|
215 |
+
|
216 |
+
.wrap .sb-pack .sbp-icon-help, .wrap .sb-pack .sbp-icon-version {
|
217 |
+
color: #fff;
|
218 |
+
}
|
219 |
+
|
220 |
+
.wrap .sb-pack .sbp-icon:before {
|
221 |
+
content: "\f185";
|
222 |
+
display: inline-block;
|
223 |
+
-webkit-font-smoothing: antialiased;
|
224 |
+
font: normal 36px/0.6 'dashicons';
|
225 |
+
vertical-align: sub;
|
226 |
+
color: #fa5148;
|
227 |
+
padding-right: 5px;
|
228 |
+
}
|
229 |
+
|
230 |
+
.wrap .sb-pack .sbp-icon-information:before {
|
231 |
+
content: "\f348";
|
232 |
+
display: inline-block;
|
233 |
+
-webkit-font-smoothing: antialiased;
|
234 |
+
font: normal 28px/1 'dashicons';
|
235 |
+
vertical-align: middle;
|
236 |
+
color: #c9d6e2;
|
237 |
+
padding-right: 5px;
|
238 |
+
}
|
239 |
+
|
240 |
+
.wrap .sb-pack .sbp-icon-version:before {
|
241 |
+
content: "\f348";
|
242 |
+
display: inline-block;
|
243 |
+
-webkit-font-smoothing: antialiased;
|
244 |
+
font: normal 30px/1 'dashicons';
|
245 |
+
vertical-align: top;
|
246 |
+
}
|
247 |
+
|
248 |
+
.wrap .sb-pack .sbp-icon-help:before {
|
249 |
+
content: "\f123";
|
250 |
+
display: inline-block;
|
251 |
+
-webkit-font-smoothing: antialiased;
|
252 |
+
font: normal 30px/1 'dashicons';
|
253 |
+
vertical-align: top;
|
254 |
+
}
|
255 |
+
|
256 |
+
/* Jquery UI slider
|
257 |
+
-------------------------------------------------------------- */
|
258 |
+
|
259 |
+
.wrap .sb-pack.ui-state-default,
|
260 |
+
.wrap .sb-pack .ui-widget-content .ui-state-default,
|
261 |
+
.wrap .sb-pack .ui-widget-header .ui-state-default {
|
262 |
+
border: 1px solid #1a9e51;
|
263 |
+
background-color: #2dcb73;
|
264 |
+
font-weight: 400;
|
265 |
+
color: #555;
|
266 |
+
outline: 0 none;
|
267 |
+
cursor: pointer;
|
268 |
+
}
|
269 |
+
|
270 |
+
.wrap .sb-pack .ui-state-default:before,
|
271 |
+
.wrap .sb-pack .ui-widget-content .ui-state-default:before,
|
272 |
+
.wrap .sb-pack .ui-widget-header .ui-state-default:before {
|
273 |
+
content: "\2630";
|
274 |
+
display: inline-block;
|
275 |
+
-webkit-font-smoothing: antialiased;
|
276 |
+
color: #fff;
|
277 |
+
font-weight: 700;
|
278 |
+
text-shadow: 0 1px #1a9e51;
|
279 |
+
line-height: 1.8em;
|
280 |
+
}
|
281 |
+
|
282 |
+
.wrap .sb-pack .ui-state-default a,
|
283 |
+
.wrap .sb-pack .ui-state-default a:link,
|
284 |
+
.wrap .sb-pack .ui-state-default a:visited {
|
285 |
+
color: #fff;
|
286 |
+
text-decoration: none;
|
287 |
+
}
|
288 |
+
|
289 |
+
.wrap .sb-pack .ui-state-focus,
|
290 |
+
.wrap .sb-pack .ui-state-hover,
|
291 |
+
.wrap .sb-pack .ui-widget-content .ui-state-focus,
|
292 |
+
.wrap .sb-pack .ui-widget-content .ui-state-hover,
|
293 |
+
.wrap .sb-pack .ui-widget-header .ui-state-focus,
|
294 |
+
.wrap .sb-pack .ui-widget-header .ui-state-hover {
|
295 |
+
background: #3ce281;
|
296 |
+
}
|
297 |
+
|
298 |
+
.wrap .sb-pack .ui-corner-all,
|
299 |
+
.wrap .sb-pack .ui-corner-top,
|
300 |
+
.wrap .sb-pack .ui-corner-left,
|
301 |
+
.wrap .sb-pack .ui-corner-tl {
|
302 |
+
border-top-left-radius: 0;
|
303 |
+
}
|
304 |
+
|
305 |
+
.wrap .sb-pack .ui-corner-all,
|
306 |
+
.wrap .sb-pack .ui-corner-top,
|
307 |
+
.wrap .sb-pack .ui-corner-right,
|
308 |
+
.wrap .sb-pack .ui-corner-tr {
|
309 |
+
border-top-right-radius: 0;
|
310 |
+
}
|
311 |
+
|
312 |
+
.wrap .sb-pack .ui-corner-bottom,
|
313 |
+
.wrap .sb-pack .ui-corner-left,
|
314 |
+
.wrap .sb-pack .ui-corner-bl {
|
315 |
+
border-bottom-left-radius: 0;
|
316 |
+
}
|
317 |
+
|
318 |
+
.wrap .sb-pack .ui-corner-all,
|
319 |
+
.wrap .sb-pack .ui-corner-bottom,
|
320 |
+
.wrap .sb-pack .ui-corner-right,
|
321 |
+
.wrap .sb-pack .ui-corner-br {
|
322 |
+
border-bottom-right-radius: 0;
|
323 |
+
}
|
324 |
+
|
325 |
+
.wrap .sb-pack .ui-corner-all,
|
326 |
+
.wrap .sb-pack .ui-corner-bottom,
|
327 |
+
.wrap .sb-pack .ui-corner-left,
|
328 |
+
.wrap .sb-pack .ui-corner-bl {
|
329 |
+
border-bottom-left-radius: 0;
|
330 |
+
}
|
331 |
+
|
332 |
+
.wrap .sb-pack .ui-slider-horizontal {
|
333 |
+
height: 1.3em;
|
334 |
+
}
|
335 |
+
|
336 |
+
.wrap .sb-pack .ui-slider .ui-slider-handle {
|
337 |
+
width: 1.8em;
|
338 |
+
height: 1.8em;
|
339 |
+
cursor: pointer;
|
340 |
+
text-align: center;
|
341 |
+
}
|
342 |
+
|
343 |
+
.wrap .sb-pack .ui-widget-content {
|
344 |
+
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
|
345 |
+
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
|
346 |
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
|
347 |
+
border: 1px solid #b2bfca;
|
348 |
+
background: #f1f2f7;
|
349 |
+
color: #222
|
350 |
+
}
|
351 |
+
|
352 |
+
/* Progress Bars
|
353 |
+
-------------------------------------------------------------- */
|
354 |
+
.wrap .sb-pack .sbp-progress.time,
|
355 |
+
.wrap .sb-pack .sbp-progress.queries {
|
356 |
+
height: 30px;
|
357 |
+
width: 77%;
|
358 |
+
display: inline-block;
|
359 |
+
position: relative;
|
360 |
+
background-color: #f1f2f7;
|
361 |
+
overflow: hidden;
|
362 |
+
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
363 |
+
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
364 |
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
365 |
+
}
|
366 |
+
|
367 |
+
.wrap .sbp-progress.time > span,
|
368 |
+
.wrap .sbp-progress.queries > span {
|
369 |
+
background-color: #7edba5;
|
370 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #7edba5), color-stop(1, #2dcb73));
|
371 |
+
background-image: -webkit-linear-gradient(top, #7edba5, #2dcb73);
|
372 |
+
background-image: -moz-linear-gradient(top, #7edba5, #2dcb73);
|
373 |
+
background-image: -ms-linear-gradient(top, #7edba5, #2dcb73);
|
374 |
+
background-image: -o-linear-gradient(top, #7edba5, #f36d0a);
|
375 |
+
color: #fff;
|
376 |
+
width: 0%;
|
377 |
+
max-width: 98%;
|
378 |
+
float: left;
|
379 |
+
display: block;
|
380 |
+
height: 100%;
|
381 |
+
position: relative;
|
382 |
+
overflow: hidden;
|
383 |
+
}
|
384 |
+
|
385 |
+
.wrap .sb-pack .sbp-progress.time > span {
|
386 |
+
-webkit-animation: progress-bar-time 2s 1 forwards;
|
387 |
+
-moz-animation: progress-bar-time 2s 1 forwards;
|
388 |
+
-ms-animation: progress-bar-time 2s 1 forwards;
|
389 |
+
-o-animation: progress-bar-time 2s 1 forwards;
|
390 |
+
animation: progress-bar-time 2s 1 forwards;
|
391 |
+
}
|
392 |
+
|
393 |
+
.wrap .sb-pack .sbp-progress.queries > span {
|
394 |
+
-webkit-animation: progress-bar-queries 2s 1 forwards;
|
395 |
+
-moz-animation: progress-bar-queries 2s 1 forwards;
|
396 |
+
-ms-animation: progress-bar-queries 2s 1 forwards;
|
397 |
+
-o-animation: progress-bar-queries 2s 1 forwards;
|
398 |
+
animation: progress-bar-queries 2s 1 forwards;
|
399 |
+
}
|
400 |
+
|
401 |
+
.wrap .sb-pack .sbp-values {
|
402 |
+
float: right;
|
403 |
+
padding: 0 5px;
|
404 |
+
background-color: #1ab4ef;
|
405 |
+
color: #fff;
|
406 |
+
width: 18%;
|
407 |
+
height: 30px;
|
408 |
+
line-height: 30px;
|
409 |
+
text-align: center;
|
410 |
+
text-shadow: 0px -2px #1ab4ef;
|
411 |
+
}
|
412 |
+
|
413 |
+
.wrap .sb-pack .sbp-numbers {
|
414 |
+
-webkit-animation: opacity 2s; /* Safari and Chrome */
|
415 |
+
-moz-animation: opacity 2s; /* Firefox */
|
416 |
+
-ms-animation: opacity 2s; /* Internet Explorer */
|
417 |
+
-o-animation: opacity 2s; /* Opera */
|
418 |
+
animation: opacity 2s;
|
419 |
+
transition-delay: 2s;
|
420 |
+
-moz-transition-delay: 2s; /* Firefox 4 */
|
421 |
+
-webkit-transition-delay: 2s; /* Safari and Chrome */
|
422 |
+
-o-transition-delay: 2s; /* Opera */
|
423 |
+
}
|
424 |
+
|
425 |
+
@keyframes opacity {
|
426 |
+
from { opacity: 0; }
|
427 |
+
to { opacity: 1; }
|
428 |
+
}
|
429 |
+
|
430 |
+
/* Firefox */
|
431 |
+
@-moz-keyframes opacity {
|
432 |
+
from { opacity: 0; }
|
433 |
+
to { opacity: 1; }
|
434 |
+
}
|
435 |
+
|
436 |
+
/* Safari and Chrome */
|
437 |
+
@-webkit-keyframes opacity {
|
438 |
+
from { opacity: 0; }
|
439 |
+
to { opacity: 1; }
|
440 |
+
}
|
441 |
+
|
442 |
+
/* Internet Explorer */
|
443 |
+
@-ms-keyframes opacity {
|
444 |
+
from { opacity: 0; }
|
445 |
+
to { opacity: 1; }
|
446 |
+
}
|
447 |
+
|
448 |
+
|
449 |
+
|
450 |
+
/* Opera */
|
451 |
+
@-o-keyframes opacity {
|
452 |
+
from { opacity: 0; }
|
453 |
+
to { opacity: 1; }
|
454 |
+
}
|
455 |
+
|
456 |
+
|
457 |
+
|
458 |
+
@media screen and (max-width: 783px) {
|
459 |
+
.wrap .sb-pack input.regular-text {
|
460 |
+
width: 14em;
|
461 |
+
}
|
462 |
+
}
|
463 |
+
|
464 |
+
@media screen and (min-width: 784px) {
|
465 |
+
.wrap .sb-pack input.regular-text {
|
466 |
+
width: 45em;
|
467 |
+
}
|
468 |
+
}
|
469 |
+
|
470 |
+
/* Feedback Box */
|
471 |
+
.feedback-box {
|
472 |
+
border: 1px dashed #555;
|
473 |
+
background: #fff;
|
474 |
+
width: 100%;
|
475 |
+
padding: 40px;
|
476 |
+
text-align: center;
|
477 |
+
margin-top: 15px;
|
478 |
+
box-sizing: border-box;
|
479 |
+
}
|
480 |
+
|
481 |
+
.feedback-box .button.button-feedback {
|
482 |
+
padding: 10px 40px;
|
483 |
+
height: initial;
|
484 |
+
}
|
485 |
+
|
486 |
+
#sbp-current-image img {
|
487 |
+
max-width: 130px;
|
488 |
+
height: auto;
|
489 |
+
}
|
490 |
+
|
491 |
+
.feedback-box h3 {
|
492 |
+
font-weight: 700;
|
493 |
+
}
|
494 |
+
|
495 |
+
.feedback-box h3 > img {
|
496 |
+
width: 30px;
|
497 |
+
}
|
498 |
+
|
499 |
+
.feedback-box > p {
|
500 |
+
max-width: 720px;
|
501 |
+
margin: 0 auto;
|
502 |
+
}
|
503 |
+
|
504 |
+
/* sbp-tooltips */
|
505 |
+
/**
|
506 |
+
* Tooltip Styles
|
507 |
+
*/
|
508 |
+
|
509 |
+
/* Base styles for the element that has a tooltip */
|
510 |
+
[data-tooltip],
|
511 |
+
.tooltip {
|
512 |
+
position: relative;
|
513 |
+
cursor: pointer;
|
514 |
+
}
|
515 |
+
|
516 |
+
/* Base styles for the entire tooltip */
|
517 |
+
[data-tooltip]:before,
|
518 |
+
[data-tooltip]:after,
|
519 |
+
.tooltip:before,
|
520 |
+
.tooltip:after {
|
521 |
+
position: absolute;
|
522 |
+
visibility: hidden;
|
523 |
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
524 |
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
525 |
+
opacity: 0;
|
526 |
+
-webkit-transition: opacity 0.2s ease-in-out,
|
527 |
+
visibility 0.2s ease-in-out,
|
528 |
+
-webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
529 |
+
-moz-transition: opacity 0.2s ease-in-out,
|
530 |
+
visibility 0.2s ease-in-out,
|
531 |
+
-moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
532 |
+
transition: opacity 0.2s ease-in-out,
|
533 |
+
visibility 0.2s ease-in-out,
|
534 |
+
transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
535 |
+
-webkit-transform: translate3d(0, 0, 0);
|
536 |
+
-moz-transform: translate3d(0, 0, 0);
|
537 |
+
transform: translate3d(0, 0, 0);
|
538 |
+
pointer-events: none;
|
539 |
+
}
|
540 |
+
|
541 |
+
/* Show the entire tooltip on hover and focus */
|
542 |
+
[data-tooltip]:hover:before,
|
543 |
+
[data-tooltip]:hover:after,
|
544 |
+
[data-tooltip]:focus:before,
|
545 |
+
[data-tooltip]:focus:after,
|
546 |
+
.tooltip:hover:before,
|
547 |
+
.tooltip:hover:after,
|
548 |
+
.tooltip:focus:before,
|
549 |
+
.tooltip:focus:after {
|
550 |
+
visibility: visible;
|
551 |
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
552 |
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
553 |
+
opacity: 1;
|
554 |
+
}
|
555 |
+
|
556 |
+
/* Base styles for the tooltip's directional arrow */
|
557 |
+
.tooltip:before,
|
558 |
+
[data-tooltip]:before {
|
559 |
+
z-index: 1001;
|
560 |
+
border: 6px solid transparent;
|
561 |
+
background: transparent;
|
562 |
+
content: "";
|
563 |
+
}
|
564 |
+
|
565 |
+
/* Base styles for the tooltip's content area */
|
566 |
+
.tooltip:after,
|
567 |
+
[data-tooltip]:after {
|
568 |
+
z-index: 1000;
|
569 |
+
padding: 8px;
|
570 |
+
width: 360px;
|
571 |
+
background-color: #000;
|
572 |
+
background-color: hsla(0, 0%, 20%, 1);
|
573 |
+
color: #fff;
|
574 |
+
content: attr(data-tooltip);
|
575 |
+
line-height: 1.75;
|
576 |
+
}
|
577 |
+
|
578 |
+
/* Directions */
|
579 |
+
|
580 |
+
/* Top (default) */
|
581 |
+
[data-tooltip]:before,
|
582 |
+
[data-tooltip]:after,
|
583 |
+
.tooltip:before,
|
584 |
+
.tooltip:after,
|
585 |
+
.tooltip-top:before,
|
586 |
+
.tooltip-top:after {
|
587 |
+
bottom: 100%;
|
588 |
+
left: 50%;
|
589 |
+
}
|
590 |
+
|
591 |
+
[data-tooltip]:before,
|
592 |
+
.tooltip:before,
|
593 |
+
.tooltip-top:before {
|
594 |
+
margin-left: -6px;
|
595 |
+
margin-bottom: -12px;
|
596 |
+
border-top-color: #000;
|
597 |
+
border-top-color: hsla(0, 0%, 20%, 0.9);
|
598 |
+
}
|
599 |
+
|
600 |
+
/* Horizontally align top/bottom tooltips */
|
601 |
+
[data-tooltip]:after,
|
602 |
+
.tooltip:after,
|
603 |
+
.tooltip-top:after {
|
604 |
+
margin-left: -80px;
|
605 |
+
}
|
606 |
+
|
607 |
+
[data-tooltip]:hover:before,
|
608 |
+
[data-tooltip]:hover:after,
|
609 |
+
[data-tooltip]:focus:before,
|
610 |
+
[data-tooltip]:focus:after,
|
611 |
+
.tooltip:hover:before,
|
612 |
+
.tooltip:hover:after,
|
613 |
+
.tooltip:focus:before,
|
614 |
+
.tooltip:focus:after,
|
615 |
+
.tooltip-top:hover:before,
|
616 |
+
.tooltip-top:hover:after,
|
617 |
+
.tooltip-top:focus:before,
|
618 |
+
.tooltip-top:focus:after {
|
619 |
+
-webkit-transform: translateY(-12px);
|
620 |
+
-moz-transform: translateY(-12px);
|
621 |
+
transform: translateY(-12px);
|
622 |
+
}
|
623 |
+
|
624 |
+
/* Left */
|
625 |
+
.tooltip-left:before,
|
626 |
+
.tooltip-left:after {
|
627 |
+
right: 100%;
|
628 |
+
bottom: 50%;
|
629 |
+
left: auto;
|
630 |
+
}
|
631 |
+
|
632 |
+
.tooltip-left:before {
|
633 |
+
margin-left: 0;
|
634 |
+
margin-right: -12px;
|
635 |
+
margin-bottom: 0;
|
636 |
+
border-top-color: transparent;
|
637 |
+
border-left-color: #000;
|
638 |
+
border-left-color: hsla(0, 0%, 20%, 0.9);
|
639 |
+
}
|
640 |
+
|
641 |
+
.tooltip-left:hover:before,
|
642 |
+
.tooltip-left:hover:after,
|
643 |
+
.tooltip-left:focus:before,
|
644 |
+
.tooltip-left:focus:after {
|
645 |
+
-webkit-transform: translateX(-12px);
|
646 |
+
-moz-transform: translateX(-12px);
|
647 |
+
transform: translateX(-12px);
|
648 |
+
}
|
649 |
+
|
650 |
+
/* Bottom */
|
651 |
+
.tooltip-bottom:before,
|
652 |
+
.tooltip-bottom:after {
|
653 |
+
top: 100%;
|
654 |
+
bottom: auto;
|
655 |
+
left: 50%;
|
656 |
+
}
|
657 |
+
|
658 |
+
.tooltip-bottom:before {
|
659 |
+
margin-top: -12px;
|
660 |
+
margin-bottom: 0;
|
661 |
+
border-top-color: transparent;
|
662 |
+
border-bottom-color: #000;
|
663 |
+
border-bottom-color: hsla(0, 0%, 20%, 0.9);
|
664 |
+
}
|
665 |
+
|
666 |
+
.tooltip-bottom:hover:before,
|
667 |
+
.tooltip-bottom:hover:after,
|
668 |
+
.tooltip-bottom:focus:before,
|
669 |
+
.tooltip-bottom:focus:after {
|
670 |
+
-webkit-transform: translateY(12px);
|
671 |
+
-moz-transform: translateY(12px);
|
672 |
+
transform: translateY(12px);
|
673 |
+
}
|
674 |
+
|
675 |
+
/* Right */
|
676 |
+
.tooltip-right:before,
|
677 |
+
.tooltip-right:after {
|
678 |
+
bottom: 50%;
|
679 |
+
left: 100%;
|
680 |
+
}
|
681 |
+
|
682 |
+
.tooltip-right:before {
|
683 |
+
margin-bottom: 0;
|
684 |
+
margin-left: -12px;
|
685 |
+
border-top-color: transparent;
|
686 |
+
border-right-color: #000;
|
687 |
+
border-right-color: hsla(0, 0%, 20%, 0.9);
|
688 |
+
}
|
689 |
+
|
690 |
+
.tooltip-right:hover:before,
|
691 |
+
.tooltip-right:hover:after,
|
692 |
+
.tooltip-right:focus:before,
|
693 |
+
.tooltip-right:focus:after {
|
694 |
+
-webkit-transform: translateX(12px);
|
695 |
+
-moz-transform: translateX(12px);
|
696 |
+
transform: translateX(12px);
|
697 |
+
}
|
698 |
+
|
699 |
+
/* Move directional arrows down a bit for left/right tooltips */
|
700 |
+
.tooltip-left:before,
|
701 |
+
.tooltip-right:before {
|
702 |
+
top: 3px;
|
703 |
+
}
|
704 |
+
|
705 |
+
/* Vertically center tooltip content for left/right tooltips */
|
706 |
+
.tooltip-left:after,
|
707 |
+
.tooltip-right:after {
|
708 |
+
margin-left: 0;
|
709 |
+
margin-bottom: -16px;
|
710 |
+
}
|
711 |
+
|
712 |
+
/* ShortPixel Banner Styling */
|
713 |
+
.sbp-recommended-plugins {
|
714 |
+
border: 1px solid #e5e5e5;
|
715 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
|
716 |
+
margin-top: 1em;
|
717 |
+
}
|
718 |
+
|
719 |
+
.sbp-recommended-plugins h3 {
|
720 |
+
margin: 0 0 15px 0;
|
721 |
+
}
|
722 |
+
|
723 |
+
.sbp-recommended-plugins .sbp-recommended-plugin {
|
724 |
+
background-color: #fff;
|
725 |
+
display: flex;
|
726 |
+
align-items: center;
|
727 |
+
padding: 2em 1em;
|
728 |
+
}
|
729 |
+
|
730 |
+
.sbp-recommended-plugins .sbp-recommended-plugin:nth-child( even ) {
|
731 |
+
background-color: #fcfcfc;
|
732 |
+
border-top: 1px solid #e5e5e5;
|
733 |
+
border-bottom: 1px solid #e5e5e5;
|
734 |
+
}
|
735 |
+
|
736 |
+
.sbp-recommended-plugins .sbp-recommended-plugin .plugin-image {
|
737 |
+
width: 128px;
|
738 |
+
}
|
739 |
+
|
740 |
+
.sbp-recommended-plugins .sbp-recommended-plugin .plugin-information {
|
741 |
+
padding-left: 30px;
|
742 |
+
box-sizing: border-box;
|
743 |
+
width: calc(100% - 128px);
|
744 |
+
}
|
745 |
+
|
746 |
+
.sbp-recommended-plugins .sbp-recommended-plugin .plugin-information .plugin-name,
|
747 |
+
.sbp-recommended-plugins .sbp-recommended-plugin .plugin-information .plugin-description {
|
748 |
+
margin: 0;
|
749 |
+
}
|
750 |
+
|
751 |
+
.sbp-recommended-plugins .sbp-recommended-plugin .plugin-information .plugin-description {
|
752 |
+
margin-bottom: 10px;
|
753 |
+
}
|
754 |
+
|
755 |
+
.sbp-recommended-plugins .sbp-recommended-plugin .sbp-plugin-button.sbp-updating:before {
|
756 |
+
font: normal 20px/1 dashicons;
|
757 |
+
display: inline-block;
|
758 |
+
content: "\f463";
|
759 |
+
-webkit-animation: rotation 2s infinite linear;
|
760 |
+
animation: rotation 2s infinite linear;
|
761 |
+
margin: 3px 5px 0 -2px;
|
762 |
+
vertical-align: top;
|
763 |
+
}
|
764 |
+
|
765 |
+
/* Welcome Logo*/
|
766 |
+
.wp-badge.sbp-welcome-logo {
|
767 |
+
background-color: #fff;
|
768 |
+
background-image: url(../inc/images/icon-128x128.jpg);
|
769 |
+
background-position: center center;
|
770 |
+
background-size: 70%;
|
771 |
+
background-repeat: no-repeat;
|
772 |
+
padding-top: 160px;
|
773 |
+
}
|
774 |
+
|
775 |
+
/* Support Page */
|
776 |
+
.center-support {text-align: center;}
|
777 |
+
|
778 |
+
/* Fast as a rabbit, slow as a snail box */
|
779 |
+
.sbp-fast-as-a-rabbit {
|
780 |
+
background-color: #fff;
|
781 |
+
width: 100%;
|
782 |
+
border-radius: 5px;
|
783 |
+
position: relative;
|
784 |
+
margin: 15px auto;
|
785 |
+
}
|
786 |
+
|
787 |
+
.sbp-fast-as-a-rabbit > div {
|
788 |
+
display: inline-block;
|
789 |
+
border-right: 1px solid #f3f3f3;
|
790 |
+
padding: 10px 20px;
|
791 |
+
text-align: center;
|
792 |
+
vertical-align: middle;
|
793 |
+
}
|
794 |
+
|
795 |
+
.sbp-fast-as-a-rabbit > div > i {margin-right: 8px;}
|
796 |
+
|
797 |
+
.sbp-fast-as-a-rabbit > div > span { font-weight: bold;}
|
798 |
+
|
799 |
+
/*
|
800 |
+
.sbp-fast-as-a-rabbit > div:last-of-type .button {border-radius: 5px;}
|
801 |
+
|
802 |
+
.sbp-fast-as-a-rabbit > div:last-of-type .button-secondary { color: #9a9a9a;}
|
803 |
+
|
804 |
+
.sbp-fast-as-a-rabbit > div:last-of-type .button-primary {padding-left: 20px; padding-right: 20px;}
|
805 |
+
|
806 |
+
.sbp-fast-as-a-rabbit > div:last-of-type .dashicons {
|
807 |
+
vertical-align: middle;
|
808 |
+
height: 24px;
|
809 |
+
}
|
810 |
+
|
811 |
+
.sbp-fast-as-a-rabbit > div:last-of-type {
|
812 |
+
text-align: right;
|
813 |
+
position: absolute;
|
814 |
+
right: 0;
|
815 |
+
top: 50%;
|
816 |
+
margin-top: -26px;
|
817 |
+
}
|
818 |
+
|
819 |
+
*/
|
820 |
+
|
821 |
+
.sbp-fast-as-a-rabbit > div:nth-of-type(4),
|
822 |
+
.sbp-fast-as-a-rabbit > div:nth-of-type(5) {
|
823 |
+
border-right: 0;
|
824 |
+
}
|
825 |
+
|
826 |
+
/* Progress bars */
|
827 |
+
.sbp-fast-as-a-rabbit progress {
|
828 |
+
margin-left: 8px;
|
829 |
+
}
|
830 |
+
|
831 |
+
.sbp-progress-bar {
|
832 |
+
padding: 5px;
|
833 |
+
}
|
834 |
+
|
835 |
+
.sbp-progress-bar progress {
|
836 |
+
background-color: #f3f3f3;
|
837 |
+
border: 1px solid #ececec;
|
838 |
+
border-radius: 9px;
|
839 |
+
margin-right: 8px;
|
840 |
+
}
|
841 |
+
|
842 |
+
.sbp-progress-bar progress::-webkit-progress-bar {
|
843 |
+
background-color: #f3f3f3;
|
844 |
+
border-radius: 9px;
|
845 |
+
}
|
846 |
+
|
847 |
+
.sbp-progress-bar progress::-webkit-progress-value {
|
848 |
+
background: green;
|
849 |
+
border-radius: 9px;
|
850 |
+
}
|
851 |
+
|
852 |
+
.sbp-progress-bar progress::-moz-progress-bar {
|
853 |
+
background: green;
|
854 |
+
border-radius: 9px;
|
855 |
+
}
|
856 |
+
|
857 |
+
.sbp-progress-bar progress.sbp-progress-red::-webkit-progress-value {background: red;}
|
858 |
+
|
859 |
+
.sbp-progress-bar progress.sbp-progress-red::-moz-progress-bar {background: red;}
|
860 |
+
|
861 |
+
.sbp-progress-bar .progress-value {
|
862 |
+
padding: 0px 5px;
|
863 |
+
line-height: 20px;
|
864 |
+
margin-left: 5px;
|
865 |
+
font-size: .8em;
|
866 |
+
color: #555;
|
867 |
+
height: 18px;
|
868 |
+
}
|
css/style.dev.css
DELETED
@@ -1,622 +0,0 @@
|
|
1 |
-
h3.sbp-emphasize {
|
2 |
-
color: #FA5148;
|
3 |
-
}
|
4 |
-
img.sbp-sp {
|
5 |
-
float: left;
|
6 |
-
margin-right: 20px;
|
7 |
-
}
|
8 |
-
p.description-link {
|
9 |
-
margin-top: -5px;
|
10 |
-
}
|
11 |
-
|
12 |
-
.wrap .sb-pack .welcome-panel .welcome-panel-column:first-child {
|
13 |
-
display: block !important;
|
14 |
-
}
|
15 |
-
|
16 |
-
.wrap .sb-pack .welcome-panel h4 {
|
17 |
-
margin: 1.33em 0 20px;
|
18 |
-
}
|
19 |
-
|
20 |
-
.wrap .sb-pack .sbp-inline-wrap {
|
21 |
-
display: inline-block;
|
22 |
-
margin-right: 10px;
|
23 |
-
vertical-align: top;
|
24 |
-
}
|
25 |
-
|
26 |
-
.wrap .sb-pack .sbp-more-width {
|
27 |
-
width: 300px;
|
28 |
-
}
|
29 |
-
|
30 |
-
.wrap .sb-pack input[type="text"] {
|
31 |
-
line-height: 1.3;
|
32 |
-
}
|
33 |
-
|
34 |
-
.wrap .sb-pack .sbp-all-enqueued {
|
35 |
-
background-color: #FCFCFC;
|
36 |
-
padding: 5px 0px 10px;
|
37 |
-
border: 1px solid #ddd;
|
38 |
-
width: auto;
|
39 |
-
}
|
40 |
-
|
41 |
-
.wrap .sb-pack .sbp-width {
|
42 |
-
min-width: 200px;
|
43 |
-
width: auto;
|
44 |
-
padding: 0 20px;
|
45 |
-
}
|
46 |
-
|
47 |
-
.wrap .sb-pack .sbp-title-scripts {
|
48 |
-
min-width: 200px;
|
49 |
-
width: auto;
|
50 |
-
display: inline-block;
|
51 |
-
font-weight: 700;
|
52 |
-
padding: 0 20px;
|
53 |
-
}
|
54 |
-
|
55 |
-
.wrap .sb-pack #poststuff h2 {
|
56 |
-
font-size: 32px;
|
57 |
-
padding: 9px 15px 20px 0px;
|
58 |
-
font-weight: 700;
|
59 |
-
line-height: 1.3;
|
60 |
-
}
|
61 |
-
|
62 |
-
.wrap .sb-pack #poststuff .main-sbp-title h3 {
|
63 |
-
font-size: 24px;
|
64 |
-
padding: 8px 0 20px;
|
65 |
-
font-weight: 700;
|
66 |
-
color: #FA5148;
|
67 |
-
}
|
68 |
-
|
69 |
-
.wrap .sb-pack .handlediv {
|
70 |
-
color: #80828F;
|
71 |
-
padding: 10px 0 0;
|
72 |
-
cursor: pointer;
|
73 |
-
}
|
74 |
-
|
75 |
-
.wrap .sb-pack .meta-box-sortables .postbox .handlediv:before {
|
76 |
-
right: 20px;
|
77 |
-
font: 400 30px/1.2 'dashicons';
|
78 |
-
padding: 8px 0;
|
79 |
-
}
|
80 |
-
|
81 |
-
.wrap .sb-pack .meta-box-sortables .postbox .handlediv:before {
|
82 |
-
content: "\f343";
|
83 |
-
}
|
84 |
-
|
85 |
-
.wrap .sb-pack .meta-box-sortables .postbox.closed .handlediv:before {
|
86 |
-
content: "\f347";
|
87 |
-
}
|
88 |
-
|
89 |
-
.wrap .sb-pack .postbox .inside {
|
90 |
-
padding: 0 20px 20px;
|
91 |
-
}
|
92 |
-
|
93 |
-
.postbox {
|
94 |
-
position: relative;
|
95 |
-
overflow: hidden;
|
96 |
-
}
|
97 |
-
.wrap .sb-pack #poststuff .inside {
|
98 |
-
margin: 26px 0 0;
|
99 |
-
}
|
100 |
-
|
101 |
-
.wrap .sb-pack #poststuff h3{
|
102 |
-
font-size: 24px;
|
103 |
-
padding: 8px 20px;
|
104 |
-
font-weight: 700;
|
105 |
-
display: inline-block;
|
106 |
-
}
|
107 |
-
|
108 |
-
.wrap .sb-pack .sbp-columns1 {
|
109 |
-
display: inline-block;
|
110 |
-
}
|
111 |
-
|
112 |
-
.wrap .sb-pack .sbp-columns2 {
|
113 |
-
display: inline-block;
|
114 |
-
max-width: 73%;
|
115 |
-
}
|
116 |
-
|
117 |
-
.wrap .sb-pack .sbp-title-div {
|
118 |
-
height: 50px;
|
119 |
-
clear: both;
|
120 |
-
}
|
121 |
-
|
122 |
-
.wrap .sb-pack .sbp-amount {
|
123 |
-
background-color: transparent;
|
124 |
-
border: medium none;
|
125 |
-
box-shadow: none;
|
126 |
-
font-size: 16px;
|
127 |
-
}
|
128 |
-
|
129 |
-
.wrap .sb-pack .sbp-slider {
|
130 |
-
width: 40%;
|
131 |
-
}
|
132 |
-
|
133 |
-
.wrap .sb-pack p {
|
134 |
-
color: #464646;
|
135 |
-
line-height: 1.6;
|
136 |
-
}
|
137 |
-
.wrap .sb-pack p.sp-link {
|
138 |
-
text-align: center;
|
139 |
-
font-size: 1.2em;
|
140 |
-
margin-bottom: 20px;
|
141 |
-
}
|
142 |
-
|
143 |
-
.wrap .sb-pack .debug-info {
|
144 |
-
margin-top: 19px;
|
145 |
-
border: 1px solid #1A9E51;
|
146 |
-
padding: 17px 10px;
|
147 |
-
background-color: #2DCB73;
|
148 |
-
color: #FFF;
|
149 |
-
font-size: 16px;
|
150 |
-
line-height: 1.6;
|
151 |
-
text-shadow: 1px 1px #1A9E51;
|
152 |
-
}
|
153 |
-
|
154 |
-
.wrap .sb-pack .td-margin {
|
155 |
-
margin: 1.5em 0 1.5em;
|
156 |
-
}
|
157 |
-
|
158 |
-
.wrap .sb-pack .sbp-div-head {
|
159 |
-
border-bottom: 1px solid #E1E1E1;
|
160 |
-
margin:0 0 5px;
|
161 |
-
padding: 0 0 5px;
|
162 |
-
}
|
163 |
-
|
164 |
-
.wrap .sb-pack .td-border {
|
165 |
-
border-bottom: 1px solid #E1E1E1;
|
166 |
-
margin: 10px 0;
|
167 |
-
}
|
168 |
-
|
169 |
-
.wrap .sb-pack .td-border-last {
|
170 |
-
border-bottom: 1px solid #E1E1E1;
|
171 |
-
margin: 1.5em 0;
|
172 |
-
}
|
173 |
-
|
174 |
-
.wrap .sb-pack .sbp-radio-content {
|
175 |
-
display: block;
|
176 |
-
}
|
177 |
-
|
178 |
-
.wrap .sb-pack .sbp-radio-content label {
|
179 |
-
display: block !important;
|
180 |
-
}
|
181 |
-
|
182 |
-
.wrap .sb-pack .sbp-box hr {
|
183 |
-
margin-left: 70px;
|
184 |
-
}
|
185 |
-
|
186 |
-
.wrap .sb-pack .sbp-1 {
|
187 |
-
padding-top: 10px;
|
188 |
-
}
|
189 |
-
|
190 |
-
.wrap .sb-pack .sbp-2 {
|
191 |
-
padding-bottom: 15px;
|
192 |
-
}
|
193 |
-
|
194 |
-
.wrap .sb-pack .sbp-3 {
|
195 |
-
padding-top: 5px;
|
196 |
-
}
|
197 |
-
|
198 |
-
.wrap .sb-pack .sbp-title-div .sbp-title {
|
199 |
-
font-size: 23px;
|
200 |
-
font-weight: 300;
|
201 |
-
line-height: 26px;
|
202 |
-
padding-top: 16px;
|
203 |
-
padding-right: 15px;
|
204 |
-
display: block;
|
205 |
-
float: left;
|
206 |
-
}
|
207 |
-
|
208 |
-
.wrap .sb-pack .sbp-box {
|
209 |
-
background:#fff;
|
210 |
-
border: 1px solid #E5E5E5;
|
211 |
-
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
212 |
-
padding: 15px;
|
213 |
-
margin-bottom: 15px;
|
214 |
-
position: relative;
|
215 |
-
overflow: hidden;
|
216 |
-
}
|
217 |
-
|
218 |
-
.wrap .sb-pack .sbp-box p {
|
219 |
-
margin: 5px 0 5px 70px;
|
220 |
-
color: #777;
|
221 |
-
}
|
222 |
-
|
223 |
-
.wrap .sb-pack .sbp-infos {
|
224 |
-
display: block;
|
225 |
-
margin: 0 auto;
|
226 |
-
padding-left: 70px;
|
227 |
-
font-weight: 700;
|
228 |
-
color:#777;
|
229 |
-
}
|
230 |
-
|
231 |
-
.wrap .sb-pack .sbp-infos span {
|
232 |
-
color: #777;
|
233 |
-
font-weight: 400;
|
234 |
-
}
|
235 |
-
|
236 |
-
.wrap .sb-pack .sbp-infos-title {
|
237 |
-
font-weight: 700;
|
238 |
-
color: #777;
|
239 |
-
}
|
240 |
-
|
241 |
-
.wrap .sb-pack .sbp-box-legend, .wrap .sb-pack .sbp-box-version {
|
242 |
-
position: absolute;
|
243 |
-
left: 0;
|
244 |
-
top: 0;
|
245 |
-
height: 100%;
|
246 |
-
}
|
247 |
-
|
248 |
-
.wrap .sb-pack .sbp-box-version {
|
249 |
-
background: none repeat scroll 0% 0% #80828F;
|
250 |
-
padding: 20px 15px;
|
251 |
-
}
|
252 |
-
|
253 |
-
.wrap .sb-pack .sbp-box-legend {
|
254 |
-
background: none repeat scroll 0% 0% #FCC500;
|
255 |
-
padding: 15px 15px;
|
256 |
-
}
|
257 |
-
|
258 |
-
.wrap .sb-pack .sbp-box-legend:hover {
|
259 |
-
background-color: #F39C12;
|
260 |
-
}
|
261 |
-
|
262 |
-
.wrap .sb-pack .sbp-box-version:hover {
|
263 |
-
background-color: #6C6E79;
|
264 |
-
}
|
265 |
-
|
266 |
-
.wrap .sb-pack .sbp-icon-help, .wrap .sb-pack .sbp-icon-version {
|
267 |
-
color:#FFF;
|
268 |
-
font-size:25px;
|
269 |
-
}
|
270 |
-
|
271 |
-
.wrap .sb-pack .sbp-icon:before {
|
272 |
-
content: "\f185";
|
273 |
-
display: inline-block;
|
274 |
-
-webkit-font-smoothing: antialiased;
|
275 |
-
font: normal 36px/0.6 'dashicons';
|
276 |
-
vertical-align: sub;
|
277 |
-
color: #FA5148;
|
278 |
-
padding-right: 5px;
|
279 |
-
}
|
280 |
-
|
281 |
-
.wrap .sb-pack .sbp-icon-information:before {
|
282 |
-
content: "\f348";
|
283 |
-
display: inline-block;
|
284 |
-
-webkit-font-smoothing: antialiased;
|
285 |
-
font: normal 28px/1 'dashicons';
|
286 |
-
vertical-align: middle;
|
287 |
-
color: #C9D6E2;
|
288 |
-
padding-right: 5px;
|
289 |
-
}
|
290 |
-
|
291 |
-
.wrap .sb-pack label {
|
292 |
-
display: inline-block;
|
293 |
-
cursor: pointer;
|
294 |
-
position: relative;
|
295 |
-
padding-left: 35px;
|
296 |
-
font-size: 16px;
|
297 |
-
|
298 |
-
}
|
299 |
-
|
300 |
-
/*.wrap .sb-pack #sbp-css-content {
|
301 |
-
display: none;
|
302 |
-
}*/
|
303 |
-
|
304 |
-
.wrap .sb-pack label:before {
|
305 |
-
content: "\2717";
|
306 |
-
font-size: 16px;
|
307 |
-
-webkit-font-smoothing: antialiased;
|
308 |
-
text-align: center;
|
309 |
-
color: #fff;
|
310 |
-
display: inline-block;
|
311 |
-
width: 26px;
|
312 |
-
height: 26px;
|
313 |
-
margin-right: 10px;
|
314 |
-
position: absolute;
|
315 |
-
left: 0;
|
316 |
-
background: #C9D6E2;
|
317 |
-
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
318 |
-
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
319 |
-
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
320 |
-
border: 1px solid #B2BFCA;
|
321 |
-
}
|
322 |
-
|
323 |
-
.wrap .sb-pack input[type=checkbox],
|
324 |
-
.wrap .sb-pack input[type=radio] {
|
325 |
-
display: none;
|
326 |
-
}
|
327 |
-
|
328 |
-
/*.wrap .sb-pack .sbp-radio-content label:before {
|
329 |
-
content: "\2630";
|
330 |
-
font-size: 16px;
|
331 |
-
-webkit-font-smoothing: antialiased;
|
332 |
-
text-align: center;
|
333 |
-
color: #fff;
|
334 |
-
font-weight: 700;
|
335 |
-
display: inline-block;
|
336 |
-
width: 24px;
|
337 |
-
height: 24px;
|
338 |
-
line-height: 1.4;
|
339 |
-
margin-right: 10px;
|
340 |
-
position: absolute;
|
341 |
-
left: 0;
|
342 |
-
background: #C9D6E2;
|
343 |
-
border: 1px solid #9CA8B3;
|
344 |
-
}
|
345 |
-
|
346 |
-
.wrap .sb-pack input[type=radio]:checked + label:before {
|
347 |
-
content: "\2630";
|
348 |
-
background: none repeat scroll 0% 0% #2DCB73;
|
349 |
-
text-align: center;
|
350 |
-
font-weight: 700;
|
351 |
-
color: #fff;
|
352 |
-
border: 1px solid #1A9E51;
|
353 |
-
} */
|
354 |
-
|
355 |
-
.wrap .sb-pack input[type=checkbox]:checked + label:before {
|
356 |
-
content: "\2714";
|
357 |
-
background: #2DCB73;
|
358 |
-
text-shadow: 1px 1px 1px #148D44;
|
359 |
-
border: 1px solid #1A9E51;
|
360 |
-
font-size: 16px;
|
361 |
-
-webkit-font-smoothing: antialiased;
|
362 |
-
color: #fff;
|
363 |
-
text-align: center;
|
364 |
-
}
|
365 |
-
|
366 |
-
.wrap .sb-pack .sbp-icon-version:before {
|
367 |
-
content: "\f348";
|
368 |
-
display: inline-block;
|
369 |
-
-webkit-font-smoothing: antialiased;
|
370 |
-
font: normal 30px/1 'dashicons';
|
371 |
-
vertical-align: top;
|
372 |
-
}
|
373 |
-
|
374 |
-
.wrap .sb-pack .sbp-icon-help:before {
|
375 |
-
content: "\f123";
|
376 |
-
display: inline-block;
|
377 |
-
-webkit-font-smoothing: antialiased;
|
378 |
-
font: normal 30px/1 'dashicons';
|
379 |
-
vertical-align: top;
|
380 |
-
}
|
381 |
-
|
382 |
-
.wrap .sb-pack .sbp-stats {
|
383 |
-
font-size: 16px;
|
384 |
-
line-height: 1.5;
|
385 |
-
}
|
386 |
-
|
387 |
-
/* Jquery UI slider
|
388 |
-
-------------------------------------------------------------- */
|
389 |
-
|
390 |
-
.wrap .sb-pack.ui-state-default,
|
391 |
-
.wrap .sb-pack .ui-widget-content .ui-state-default,
|
392 |
-
.wrap .sb-pack .ui-widget-header .ui-state-default {
|
393 |
-
border:1px solid #1A9E51;
|
394 |
-
background-color:#2DCB73;
|
395 |
-
font-weight:400;
|
396 |
-
color:#555;
|
397 |
-
outline:0 none;
|
398 |
-
cursor:pointer;
|
399 |
-
}
|
400 |
-
.wrap .sb-pack .ui-state-default:before,
|
401 |
-
.wrap .sb-pack .ui-widget-content .ui-state-default:before,
|
402 |
-
.wrap .sb-pack .ui-widget-header .ui-state-default:before {
|
403 |
-
content:"\2630";
|
404 |
-
display:inline-block;
|
405 |
-
-webkit-font-smoothing:antialiased;
|
406 |
-
color:#fff;
|
407 |
-
font-weight:700;
|
408 |
-
text-shadow:0 1px #1A9E51;
|
409 |
-
line-height: 1.8em;
|
410 |
-
}
|
411 |
-
|
412 |
-
.wrap .sb-pack .ui-state-default a,
|
413 |
-
.wrap .sb-pack .ui-state-default a:link,
|
414 |
-
.wrap .sb-pack .ui-state-default a:visited {
|
415 |
-
color:#fff;
|
416 |
-
text-decoration:none;
|
417 |
-
}
|
418 |
-
|
419 |
-
.wrap .sb-pack .ui-state-focus,
|
420 |
-
.wrap .sb-pack .ui-state-hover,
|
421 |
-
.wrap .sb-pack .ui-widget-content .ui-state-focus,
|
422 |
-
.wrap .sb-pack .ui-widget-content .ui-state-hover,
|
423 |
-
.wrap .sb-pack .ui-widget-header .ui-state-focus,
|
424 |
-
.wrap .sb-pack .ui-widget-header .ui-state-hover {
|
425 |
-
background:#3CE281;
|
426 |
-
}
|
427 |
-
|
428 |
-
.wrap .sb-pack .ui-corner-all,
|
429 |
-
.wrap .sb-pack .ui-corner-top,
|
430 |
-
.wrap .sb-pack .ui-corner-left,
|
431 |
-
.wrap .sb-pack .ui-corner-tl {
|
432 |
-
border-top-left-radius: 0;
|
433 |
-
}
|
434 |
-
.wrap .sb-pack .ui-corner-all,
|
435 |
-
.wrap .sb-pack .ui-corner-top,
|
436 |
-
.wrap .sb-pack .ui-corner-right,
|
437 |
-
.wrap .sb-pack .ui-corner-tr {
|
438 |
-
border-top-right-radius: 0;
|
439 |
-
}
|
440 |
-
.wrap .sb-pack .ui-corner-bottom,
|
441 |
-
.wrap .sb-pack .ui-corner-left,
|
442 |
-
.wrap .sb-pack .ui-corner-bl {
|
443 |
-
border-bottom-left-radius: 0;
|
444 |
-
}
|
445 |
-
.wrap .sb-pack .ui-corner-all,
|
446 |
-
.wrap .sb-pack .ui-corner-bottom,
|
447 |
-
.wrap .sb-pack .ui-corner-right,
|
448 |
-
.wrap .sb-pack .ui-corner-br {
|
449 |
-
border-bottom-right-radius: 0;
|
450 |
-
}
|
451 |
-
|
452 |
-
.wrap .sb-pack .ui-corner-all,
|
453 |
-
.wrap .sb-pack .ui-corner-bottom,
|
454 |
-
.wrap .sb-pack .ui-corner-left,
|
455 |
-
.wrap .sb-pack .ui-corner-bl {
|
456 |
-
border-bottom-left-radius: 0;
|
457 |
-
}
|
458 |
-
|
459 |
-
.wrap .sb-pack .ui-slider-horizontal {
|
460 |
-
height:1.3em;
|
461 |
-
}
|
462 |
-
|
463 |
-
.wrap .sb-pack .ui-slider .ui-slider-handle {
|
464 |
-
width:1.8em;
|
465 |
-
height:1.8em;
|
466 |
-
cursor:pointer;
|
467 |
-
text-align:center;
|
468 |
-
}
|
469 |
-
|
470 |
-
.wrap .sb-pack .ui-widget-content {
|
471 |
-
-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
|
472 |
-
-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
|
473 |
-
box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
|
474 |
-
border:1px solid #B2BFCA;
|
475 |
-
background:#F1F2F7;
|
476 |
-
color:#222
|
477 |
-
}
|
478 |
-
/* Progress Bars
|
479 |
-
-------------------------------------------------------------- */
|
480 |
-
.wrap .sb-pack .sbp-progress.time,
|
481 |
-
.wrap .sb-pack .sbp-progress.queries {
|
482 |
-
height: 30px;
|
483 |
-
width: 77%;
|
484 |
-
display: inline-block;
|
485 |
-
position: relative;
|
486 |
-
background-color: #F1F2F7;
|
487 |
-
overflow: hidden;
|
488 |
-
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
489 |
-
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
490 |
-
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
491 |
-
}
|
492 |
-
.wrap .sbp-progress.time > span,
|
493 |
-
.wrap .sbp-progress.queries > span {
|
494 |
-
background-color: #7EDBA5;
|
495 |
-
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #7EDBA5),color-stop(1, #2DCB73));
|
496 |
-
background-image: -webkit-linear-gradient(top, #7EDBA5, #2DCB73);
|
497 |
-
background-image: -moz-linear-gradient(top, #7EDBA5, #2DCB73);
|
498 |
-
background-image: -ms-linear-gradient(top, #7EDBA5, #2DCB73);
|
499 |
-
background-image: -o-linear-gradient(top, #7EDBA5, #f36d0a);
|
500 |
-
color:#fff;
|
501 |
-
width: 0%;
|
502 |
-
max-width: 98%;
|
503 |
-
float: left;
|
504 |
-
display: block;
|
505 |
-
height: 100%;
|
506 |
-
position: relative;
|
507 |
-
overflow: hidden;
|
508 |
-
}
|
509 |
-
|
510 |
-
.wrap .sb-pack .sbp-progress.time > span {
|
511 |
-
-webkit-animation: progress-bar-time 2s 1 forwards;
|
512 |
-
-moz-animation: progress-bar-time 2s 1 forwards;
|
513 |
-
-ms-animation: progress-bar-time 2s 1 forwards;
|
514 |
-
-o-animation: progress-bar-time 2s 1 forwards;
|
515 |
-
animation: progress-bar-time 2s 1 forwards;
|
516 |
-
|
517 |
-
}
|
518 |
-
|
519 |
-
.wrap .sb-pack .sbp-progress.queries > span {
|
520 |
-
-webkit-animation: progress-bar-queries 2s 1 forwards;
|
521 |
-
-moz-animation: progress-bar-queries 2s 1 forwards;
|
522 |
-
-ms-animation: progress-bar-queries 2s 1 forwards;
|
523 |
-
-o-animation: progress-bar-queries 2s 1 forwards;
|
524 |
-
animation: progress-bar-queries 2s 1 forwards;
|
525 |
-
|
526 |
-
}
|
527 |
-
|
528 |
-
.wrap .sb-pack .sbp-values {
|
529 |
-
float: right;
|
530 |
-
padding: 0 5px;
|
531 |
-
background-color: #1AB4EF;
|
532 |
-
color: #fff;
|
533 |
-
width: 18%;
|
534 |
-
height: 30px;
|
535 |
-
line-height: 30px;
|
536 |
-
text-align: center;
|
537 |
-
text-shadow: 0px -2px #1AB4EF;
|
538 |
-
}
|
539 |
-
|
540 |
-
.wrap .sb-pack .sbp-numbers {
|
541 |
-
-webkit-animation: opacity 2s; /* Safari and Chrome */
|
542 |
-
-moz-animation: opacity 2s; /* Firefox */
|
543 |
-
-ms-animation: opacity 2s; /* Internet Explorer */
|
544 |
-
-o-animation: opacity 2s; /* Opera */
|
545 |
-
animation: opacity 2s;
|
546 |
-
transition-delay: 2s;
|
547 |
-
-moz-transition-delay: 2s; /* Firefox 4 */
|
548 |
-
-webkit-transition-delay: 2s; /* Safari and Chrome */
|
549 |
-
-o-transition-delay: 2s; /* Opera */
|
550 |
-
font-size: 16px;
|
551 |
-
}
|
552 |
-
|
553 |
-
@keyframes opacity {
|
554 |
-
from { opacity:0; }
|
555 |
-
to { opacity: 1; }
|
556 |
-
}
|
557 |
-
|
558 |
-
/* Firefox */
|
559 |
-
@-moz-keyframes opacity {
|
560 |
-
from { opacity:0; }
|
561 |
-
to { opacity: 1; }
|
562 |
-
}
|
563 |
-
|
564 |
-
/* Safari and Chrome */
|
565 |
-
@-webkit-keyframes opacity {
|
566 |
-
from { opacity:0; }
|
567 |
-
to { opacity: 1; }
|
568 |
-
}
|
569 |
-
|
570 |
-
/* Internet Explorer */
|
571 |
-
@-ms-keyframes opacity {
|
572 |
-
from { opacity:0; }
|
573 |
-
to { opacity: 1; }
|
574 |
-
}
|
575 |
-
|
576 |
-
/* Opera */
|
577 |
-
@-o-keyframes opacity {
|
578 |
-
from { opacity:0; }
|
579 |
-
to { opacity: 1; }
|
580 |
-
}
|
581 |
-
|
582 |
-
@media screen and (max-width: 783px) {
|
583 |
-
.wrap .sb-pack input.regular-text {
|
584 |
-
width: 14em;
|
585 |
-
}
|
586 |
-
}
|
587 |
-
|
588 |
-
@media screen and (min-width: 784px) {
|
589 |
-
.wrap .sb-pack input.regular-text {
|
590 |
-
width: 45em;
|
591 |
-
}
|
592 |
-
}
|
593 |
-
|
594 |
-
/* Feedback Box */
|
595 |
-
.feedback-box {
|
596 |
-
border: 1px dashed #555;
|
597 |
-
background: #fff;
|
598 |
-
width: 100%;
|
599 |
-
padding: 40px;
|
600 |
-
text-align: center;
|
601 |
-
margin-top: 15px;
|
602 |
-
box-sizing: border-box;
|
603 |
-
}
|
604 |
-
.feedback-box .button.button-feedback {
|
605 |
-
padding: 10px 40px;
|
606 |
-
height: initial;
|
607 |
-
}
|
608 |
-
|
609 |
-
#sab-current-image img {
|
610 |
-
max-width: 130px;
|
611 |
-
height: auto;
|
612 |
-
}
|
613 |
-
.feedback-box h3 {
|
614 |
-
font-weight: 700;
|
615 |
-
}
|
616 |
-
.feedback-box h3 > img {
|
617 |
-
width: 30px;
|
618 |
-
}
|
619 |
-
.feedback-box > p {
|
620 |
-
max-width: 720px;
|
621 |
-
margin: 0 auto;
|
622 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
css/vendors/jquery-ui/images/ui-icons_444444_256x240.png
ADDED
Binary file
|
css/vendors/jquery-ui/images/ui-icons_555555_256x240.png
ADDED
Binary file
|
css/vendors/jquery-ui/images/ui-icons_777620_256x240.png
ADDED
Binary file
|
css/vendors/jquery-ui/images/ui-icons_777777_256x240.png
ADDED
Binary file
|
css/vendors/jquery-ui/images/ui-icons_cc0000_256x240.png
ADDED
Binary file
|
css/vendors/jquery-ui/images/ui-icons_ffffff_256x240.png
ADDED
Binary file
|
css/vendors/jquery-ui/jquery-ui.min.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! jQuery UI - v1.12.1 - 2016-09-14
|
2 |
+
* http://jqueryui.com
|
3 |
+
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
|
4 |
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
|
5 |
+
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
6 |
+
|
7 |
+
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("jquery-ui/images/ui-icons_444444_256x240.png")} .ui-widget-header .ui-icon{background-image:url("jquery-ui/images/ui-icons_444444_256x240.png")} .ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("jquery-ui/images/ui-icons_555555_256x240.png")} .ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("jquery-ui/images/ui-icons_ffffff_256x240.png")} .ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("jquery-ui/images/ui-icons_777620_256x240.png")} .ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("jquery-ui/images/ui-icons_cc0000_256x240.png")} .ui-button .ui-icon{background-image:url("jquery-ui/images/ui-icons_777777_256x240.png")} .ui-icon-blank{background-position:16px 16px} .ui-icon-caret-1-n{background-position:0 0} .ui-icon-caret-1-ne{background-position:-16px 0} .ui-icon-caret-1-e{background-position:-32px 0} .ui-icon-caret-1-se{background-position:-48px 0} .ui-icon-caret-1-s{background-position:-65px 0} .ui-icon-caret-1-sw{background-position:-80px 0} .ui-icon-caret-1-w{background-position:-96px 0} .ui-icon-caret-1-nw{background-position:-112px 0} .ui-icon-caret-2-n-s{background-position:-128px 0} .ui-icon-caret-2-e-w{background-position:-144px 0} .ui-icon-triangle-1-n{background-position:0 -16px} .ui-icon-triangle-1-ne{background-position:-16px -16px} .ui-icon-triangle-1-e{background-position:-32px -16px} .ui-icon-triangle-1-se{background-position:-48px -16px} .ui-icon-triangle-1-s{background-position:-65px -16px} .ui-icon-triangle-1-sw{background-position:-80px -16px} .ui-icon-triangle-1-w{background-position:-96px -16px} .ui-icon-triangle-1-nw{background-position:-112px -16px} .ui-icon-triangle-2-n-s{background-position:-128px -16px} .ui-icon-triangle-2-e-w{background-position:-144px -16px} .ui-icon-arrow-1-n{background-position:0 -32px} .ui-icon-arrow-1-ne{background-position:-16px -32px} .ui-icon-arrow-1-e{background-position:-32px -32px} .ui-icon-arrow-1-se{background-position:-48px -32px} .ui-icon-arrow-1-s{background-position:-65px -32px} .ui-icon-arrow-1-sw{background-position:-80px -32px} .ui-icon-arrow-1-w{background-position:-96px -32px} .ui-icon-arrow-1-nw{background-position:-112px -32px} .ui-icon-arrow-2-n-s{background-position:-128px -32px} .ui-icon-arrow-2-ne-sw{background-position:-144px -32px} .ui-icon-arrow-2-e-w{background-position:-160px -32px} .ui-icon-arrow-2-se-nw{background-position:-176px -32px} .ui-icon-arrowstop-1-n{background-position:-192px -32px} .ui-icon-arrowstop-1-e{background-position:-208px -32px} .ui-icon-arrowstop-1-s{background-position:-224px -32px} .ui-icon-arrowstop-1-w{background-position:-240px -32px} .ui-icon-arrowthick-1-n{background-position:1px -48px} .ui-icon-arrowthick-1-ne{background-position:-16px -48px} .ui-icon-arrowthick-1-e{background-position:-32px -48px} .ui-icon-arrowthick-1-se{background-position:-48px -48px} .ui-icon-arrowthick-1-s{background-position:-64px -48px} .ui-icon-arrowthick-1-sw{background-position:-80px -48px} .ui-icon-arrowthick-1-w{background-position:-96px -48px} .ui-icon-arrowthick-1-nw{background-position:-112px -48px} .ui-icon-arrowthick-2-n-s{background-position:-128px -48px} .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px} .ui-icon-arrowthick-2-e-w{background-position:-160px -48px} .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px} .ui-icon-arrowthickstop-1-n{background-position:-192px -48px} .ui-icon-arrowthickstop-1-e{background-position:-208px -48px} .ui-icon-arrowthickstop-1-s{background-position:-224px -48px} .ui-icon-arrowthickstop-1-w{background-position:-240px -48px} .ui-icon-arrowreturnthick-1-w{background-position:0 -64px} .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px} .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px} .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px} .ui-icon-arrowreturn-1-w{background-position:-64px -64px} .ui-icon-arrowreturn-1-n{background-position:-80px -64px} .ui-icon-arrowreturn-1-e{background-position:-96px -64px} .ui-icon-arrowreturn-1-s{background-position:-112px -64px} .ui-icon-arrowrefresh-1-w{background-position:-128px -64px} .ui-icon-arrowrefresh-1-n{background-position:-144px -64px} .ui-icon-arrowrefresh-1-e{background-position:-160px -64px} .ui-icon-arrowrefresh-1-s{background-position:-176px -64px} .ui-icon-arrow-4{background-position:0 -80px} .ui-icon-arrow-4-diag{background-position:-16px -80px} .ui-icon-extlink{background-position:-32px -80px} .ui-icon-newwin{background-position:-48px -80px} .ui-icon-refresh{background-position:-64px -80px} .ui-icon-shuffle{background-position:-80px -80px} .ui-icon-transfer-e-w{background-position:-96px -80px} .ui-icon-transferthick-e-w{background-position:-112px -80px} .ui-icon-folder-collapsed{background-position:0 -96px} .ui-icon-folder-open{background-position:-16px -96px} .ui-icon-document{background-position:-32px -96px} .ui-icon-document-b{background-position:-48px -96px} .ui-icon-note{background-position:-64px -96px} .ui-icon-mail-closed{background-position:-80px -96px} .ui-icon-mail-open{background-position:-96px -96px} .ui-icon-suitcase{background-position:-112px -96px} .ui-icon-comment{background-position:-128px -96px} .ui-icon-person{background-position:-144px -96px} .ui-icon-print{background-position:-160px -96px} .ui-icon-trash{background-position:-176px -96px} .ui-icon-locked{background-position:-192px -96px} .ui-icon-unlocked{background-position:-208px -96px} .ui-icon-bookmark{background-position:-224px -96px} .ui-icon-tag{background-position:-240px -96px} .ui-icon-home{background-position:0 -112px} .ui-icon-flag{background-position:-16px -112px} .ui-icon-calendar{background-position:-32px -112px} .ui-icon-cart{background-position:-48px -112px} .ui-icon-pencil{background-position:-64px -112px} .ui-icon-clock{background-position:-80px -112px} .ui-icon-disk{background-position:-96px -112px} .ui-icon-calculator{background-position:-112px -112px} .ui-icon-zoomin{background-position:-128px -112px} .ui-icon-zoomout{background-position:-144px -112px} .ui-icon-search{background-position:-160px -112px} .ui-icon-wrench{background-position:-176px -112px} .ui-icon-gear{background-position:-192px -112px} .ui-icon-heart{background-position:-208px -112px} .ui-icon-star{background-position:-224px -112px} .ui-icon-link{background-position:-240px -112px} .ui-icon-cancel{background-position:0 -128px} .ui-icon-plus{background-position:-16px -128px} .ui-icon-plusthick{background-position:-32px -128px} .ui-icon-minus{background-position:-48px -128px} .ui-icon-minusthick{background-position:-64px -128px} .ui-icon-close{background-position:-80px -128px} .ui-icon-closethick{background-position:-96px -128px} .ui-icon-key{background-position:-112px -128px} .ui-icon-lightbulb{background-position:-128px -128px} .ui-icon-scissors{background-position:-144px -128px} .ui-icon-clipboard{background-position:-160px -128px} .ui-icon-copy{background-position:-176px -128px} .ui-icon-contact{background-position:-192px -128px} .ui-icon-image{background-position:-208px -128px} .ui-icon-video{background-position:-224px -128px} .ui-icon-script{background-position:-240px -128px} .ui-icon-alert{background-position:0 -144px} .ui-icon-info{background-position:-16px -144px} .ui-icon-notice{background-position:-32px -144px} .ui-icon-help{background-position:-48px -144px} .ui-icon-check{background-position:-64px -144px} .ui-icon-bullet{background-position:-80px -144px} .ui-icon-radio-on{background-position:-96px -144px} .ui-icon-radio-off{background-position:-112px -144px} .ui-icon-pin-w{background-position:-128px -144px} .ui-icon-pin-s{background-position:-144px -144px} .ui-icon-play{background-position:0 -160px} .ui-icon-pause{background-position:-16px -160px} .ui-icon-seek-next{background-position:-32px -160px} .ui-icon-seek-prev{background-position:-48px -160px} .ui-icon-seek-end{background-position:-64px -160px} .ui-icon-seek-start{background-position:-80px -160px} .ui-icon-seek-first{background-position:-80px -160px} .ui-icon-stop{background-position:-96px -160px} .ui-icon-eject{background-position:-112px -160px} .ui-icon-volume-off{background-position:-128px -160px} .ui-icon-volume-on{background-position:-144px -160px} .ui-icon-power{background-position:0 -176px} .ui-icon-signal-diag{background-position:-16px -176px} .ui-icon-signal{background-position:-32px -176px} .ui-icon-battery-0{background-position:-48px -176px} .ui-icon-battery-1{background-position:-64px -176px} .ui-icon-battery-2{background-position:-80px -176px} .ui-icon-battery-3{background-position:-96px -176px} .ui-icon-circle-plus{background-position:0 -192px} .ui-icon-circle-minus{background-position:-16px -192px} .ui-icon-circle-close{background-position:-32px -192px} .ui-icon-circle-triangle-e{background-position:-48px -192px} .ui-icon-circle-triangle-s{background-position:-64px -192px} .ui-icon-circle-triangle-w{background-position:-80px -192px} .ui-icon-circle-triangle-n{background-position:-96px -192px} .ui-icon-circle-arrow-e{background-position:-112px -192px} .ui-icon-circle-arrow-s{background-position:-128px -192px} .ui-icon-circle-arrow-w{background-position:-144px -192px} .ui-icon-circle-arrow-n{background-position:-160px -192px} .ui-icon-circle-zoomin{background-position:-176px -192px} .ui-icon-circle-zoomout{background-position:-192px -192px} .ui-icon-circle-check{background-position:-208px -192px} .ui-icon-circlesmall-plus{background-position:0 -208px} .ui-icon-circlesmall-minus{background-position:-16px -208px} .ui-icon-circlesmall-close{background-position:-32px -208px} .ui-icon-squaresmall-plus{background-position:-48px -208px} .ui-icon-squaresmall-minus{background-position:-64px -208px} .ui-icon-squaresmall-close{background-position:-80px -208px} .ui-icon-grip-dotted-vertical{background-position:0 -224px} .ui-icon-grip-dotted-horizontal{background-position:-16px -224px} .ui-icon-grip-solid-vertical{background-position:-32px -224px} .ui-icon-grip-solid-horizontal{background-position:-48px -224px} .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px} .ui-icon-grip-diagonal-se{background-position:-80px -224px} .ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px} .ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px} .ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px} .ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px} .ui-widget-overlay{background:#aaa;opacity:.003;filter:Alpha(Opacity=.3)} .ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}
|
feedback/class-epsilon-feedback.php
ADDED
@@ -0,0 +1,271 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Epsilon_Feedback {
|
4 |
+
|
5 |
+
private $plugin_file = '';
|
6 |
+
private $plugin_name = '';
|
7 |
+
|
8 |
+
function __construct( $_plugin_file ) {
|
9 |
+
|
10 |
+
$this->plugin_file = $_plugin_file;
|
11 |
+
$this->plugin_name = basename( $this->plugin_file, '.php' );
|
12 |
+
|
13 |
+
// Deactivation
|
14 |
+
add_filter( 'plugin_action_links_' . plugin_basename( $this->plugin_file ), array(
|
15 |
+
$this,
|
16 |
+
'filter_action_links',
|
17 |
+
) );
|
18 |
+
add_action( 'admin_footer-plugins.php', array( $this, 'goodbye_ajax' ) );
|
19 |
+
add_action( 'wp_ajax_epsilon_deactivate_plugin', array( $this, 'epsilon_deactivate_plugin_callback' ) );
|
20 |
+
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Filter the deactivation link to allow us to present a form when the user deactivates the plugin
|
25 |
+
*
|
26 |
+
* @since 1.0.0
|
27 |
+
*/
|
28 |
+
public function filter_action_links( $links ) {
|
29 |
+
|
30 |
+
if ( isset( $links['deactivate'] ) ) {
|
31 |
+
$deactivation_link = $links['deactivate'];
|
32 |
+
// Insert an onClick action to allow form before deactivating
|
33 |
+
$deactivation_link = str_replace( '<a ', '<div class="epsilon-deactivate-form-wrapper"><span class="epsilon-deactivate-form" id="epsilon-deactivate-form-' . esc_attr( $this->plugin_name ) . '"></span></div><a onclick="javascript:event.preventDefault();" id="epsilon-deactivate-link-' . esc_attr( $this->plugin_name ) . '" ', $deactivation_link );
|
34 |
+
$links['deactivate'] = $deactivation_link;
|
35 |
+
}
|
36 |
+
|
37 |
+
return $links;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Form text strings
|
42 |
+
* These can be filtered
|
43 |
+
*
|
44 |
+
* @since 1.0.0
|
45 |
+
*/
|
46 |
+
public function goodbye_ajax() {
|
47 |
+
// Get our strings for the form
|
48 |
+
$form = $this->get_form_info();
|
49 |
+
|
50 |
+
// Build the HTML to go in the form
|
51 |
+
$html = '<div class="epsilon-deactivate-form-head"><strong>' . esc_html( $form['heading'] ) . '</strong></div>';
|
52 |
+
$html .= '<div class="epsilon-deactivate-form-body"><p>' . esc_html( $form['body'] ) . '</p>';
|
53 |
+
if ( is_array( $form['options'] ) ) {
|
54 |
+
$html .= '<div class="epsilon-deactivate-options"><p>';
|
55 |
+
foreach ( $form['options'] as $key => $option ) {
|
56 |
+
if ( 'features' == $key ) {
|
57 |
+
$html .= '<input type="radio" name="epsilon-deactivate-reason" checked="checked" id="' . esc_attr( $key ) . '" value="' . esc_attr( $key ) . '"> <label for="' . esc_attr( $key ) . '">' . esc_attr( $option ) . '</label><br>';
|
58 |
+
} else {
|
59 |
+
$html .= '<input type="radio" name="epsilon-deactivate-reason" id="' . esc_attr( $key ) . '" value="' . esc_attr( $key ) . '"> <label for="' . esc_attr( $key ) . '">' . esc_attr( $option ) . '</label><br>';
|
60 |
+
}
|
61 |
+
}
|
62 |
+
$html .= '</p><label id="epsilon-deactivate-details-label" for="epsilon-deactivate-reasons"><strong>' . esc_html( $form['details'] ) . '</strong></label><textarea name="epsilon-deactivate-details" id="epsilon-deactivate-details" rows="2" style="width:100%"></textarea>';
|
63 |
+
$html .= '<input type="checkbox" name="epsilon-deactivate-tracking" checked="" id="allow-tracking" value="yes"> <label for="allow-tracking">' . esc_html__( 'Allow us to get more information in order to improve our plugin', 'sb-pack' ) . '</label><br>';
|
64 |
+
$html .= '</div><!-- .epsilon-deactivate-options -->';
|
65 |
+
}
|
66 |
+
$html .= '</div><!-- .epsilon-deactivate-form-body -->';
|
67 |
+
$html .= '<p class="deactivating-spinner"><span class="spinner"></span> ' . __( 'Submitting form', 'sb-pack' ) . '</p>';
|
68 |
+
$html .= '<div class="epsilon-deactivate-form-footer"><p><a id="epsilon-deactivate-plugin" href="#">' . __( 'Just Deactivate', 'sb-pack' ) . '</a><a id="epsilon-deactivate-submit-form" class="button button-primary" href="#">' . __( 'Submit and Deactivate', 'sb-pack' ) . '</a></p></div>'
|
69 |
+
?>
|
70 |
+
<div class="epsilon-deactivate-form-bg"></div>
|
71 |
+
<style type="text/css">
|
72 |
+
.epsilon-deactivate-form-active .epsilon-deactivate-form-bg {
|
73 |
+
background: rgba(0, 0, 0, .5);
|
74 |
+
position: fixed;
|
75 |
+
top: 0;
|
76 |
+
left: 0;
|
77 |
+
width: 100%;
|
78 |
+
height: 100%;
|
79 |
+
}
|
80 |
+
|
81 |
+
.epsilon-deactivate-form-wrapper {
|
82 |
+
position: relative;
|
83 |
+
z-index: 999;
|
84 |
+
display: none;
|
85 |
+
}
|
86 |
+
|
87 |
+
.epsilon-deactivate-form-active .epsilon-deactivate-form-wrapper {
|
88 |
+
display: block;
|
89 |
+
}
|
90 |
+
|
91 |
+
.epsilon-deactivate-form {
|
92 |
+
display: none;
|
93 |
+
}
|
94 |
+
|
95 |
+
.epsilon-deactivate-form-active .epsilon-deactivate-form {
|
96 |
+
position: absolute;
|
97 |
+
bottom: 30px;
|
98 |
+
left: 0;
|
99 |
+
max-width: 400px;
|
100 |
+
background: #fff;
|
101 |
+
white-space: normal;
|
102 |
+
}
|
103 |
+
|
104 |
+
.epsilon-deactivate-form-head {
|
105 |
+
background: #272754;
|
106 |
+
color: #fff;
|
107 |
+
padding: 8px 18px;
|
108 |
+
}
|
109 |
+
|
110 |
+
.epsilon-deactivate-form-body {
|
111 |
+
padding: 8px 18px;
|
112 |
+
color: #444;
|
113 |
+
}
|
114 |
+
|
115 |
+
.deactivating-spinner {
|
116 |
+
display: none;
|
117 |
+
}
|
118 |
+
|
119 |
+
.deactivating-spinner .spinner {
|
120 |
+
float: none;
|
121 |
+
margin: 4px 4px 0 18px;
|
122 |
+
vertical-align: bottom;
|
123 |
+
visibility: visible;
|
124 |
+
}
|
125 |
+
|
126 |
+
.epsilon-deactivate-form-footer {
|
127 |
+
padding: 8px 18px;
|
128 |
+
}
|
129 |
+
|
130 |
+
.epsilon-deactivate-form-footer p {
|
131 |
+
display: flex;
|
132 |
+
align-items: center;
|
133 |
+
justify-content: space-between;
|
134 |
+
}
|
135 |
+
|
136 |
+
.epsilon-deactivate-form.process-response .epsilon-deactivate-form-body,
|
137 |
+
.epsilon-deactivate-form.process-response .epsilon-deactivate-form-footer {
|
138 |
+
position: relative;
|
139 |
+
}
|
140 |
+
|
141 |
+
.epsilon-deactivate-form.process-response .epsilon-deactivate-form-body:after,
|
142 |
+
.epsilon-deactivate-form.process-response .epsilon-deactivate-form-footer:after {
|
143 |
+
content: "";
|
144 |
+
display: block;
|
145 |
+
position: absolute;
|
146 |
+
top: 0;
|
147 |
+
left: 0;
|
148 |
+
width: 100%;
|
149 |
+
height: 100%;
|
150 |
+
background-color: rgba(255, 255, 255, .5);
|
151 |
+
}
|
152 |
+
</style>
|
153 |
+
<script>
|
154 |
+
jQuery( document ).ready( function( $ ) {
|
155 |
+
var deactivateURL = $( "#epsilon-deactivate-link-<?php echo esc_attr( $this->plugin_name ); ?>" ),
|
156 |
+
formContainer = $( '#epsilon-deactivate-form-<?php echo esc_attr( $this->plugin_name ); ?>' ),
|
157 |
+
detailsStrings = {
|
158 |
+
'setup': '<?php echo __( 'What was the dificult part ?', 'sb-pack' ) ?>',
|
159 |
+
'documentation': '<?php echo __( 'What can we describe more ?', 'sb-pack' ) ?>',
|
160 |
+
'features': '<?php echo __( 'How could we improve ?', 'sb-pack' ) ?>',
|
161 |
+
'better-plugin': '<?php echo __( 'Can you mention it ?', 'sb-pack' ) ?>',
|
162 |
+
'incompatibility': '<?php echo __( 'With what plugin or theme is incompatible ?', 'sb-pack' ) ?>',
|
163 |
+
};
|
164 |
+
|
165 |
+
$( deactivateURL ).on( "click", function() {
|
166 |
+
// We'll send the user to this deactivation link when they've completed or dismissed the form
|
167 |
+
var url = deactivateURL.attr( 'href' );
|
168 |
+
$( 'body' ).toggleClass( 'epsilon-deactivate-form-active' );
|
169 |
+
formContainer.fadeIn();
|
170 |
+
formContainer.html( '<?php echo $html; ?>' );
|
171 |
+
|
172 |
+
formContainer.on( 'change', 'input[name="epsilon-deactivate-reason"]', function() {
|
173 |
+
var detailsLabel = formContainer.find( '#epsilon-deactivate-details-label strong' );
|
174 |
+
var value = formContainer.find( 'input[name="epsilon-deactivate-reason"]:checked' ).val();
|
175 |
+
detailsLabel.text( detailsStrings[ value ] );
|
176 |
+
} );
|
177 |
+
|
178 |
+
formContainer.on( 'click', '#epsilon-deactivate-submit-form', function( e ) {
|
179 |
+
var data = {
|
180 |
+
'action': 'epsilon_deactivate_plugin',
|
181 |
+
'security': "<?php echo wp_create_nonce( 'epsilon_deactivate_plugin' ); ?>",
|
182 |
+
'dataType': "json"
|
183 |
+
};
|
184 |
+
e.preventDefault();
|
185 |
+
// As soon as we click, the body of the form should disappear
|
186 |
+
formContainer.addClass( 'process-response' );
|
187 |
+
// Fade in spinner
|
188 |
+
formContainer.find( ".deactivating-spinner" ).fadeIn();
|
189 |
+
|
190 |
+
data[ 'reason' ] = formContainer.find( 'input[name="epsilon-deactivate-reason"]:checked' ).val();
|
191 |
+
data[ 'details' ] = formContainer.find( '#epsilon-deactivate-details' ).val();
|
192 |
+
data[ 'tracking' ] = formContainer.find( '#allow-tracking:checked' ).length;
|
193 |
+
|
194 |
+
$.post(
|
195 |
+
ajaxurl,
|
196 |
+
data,
|
197 |
+
function( response ) {
|
198 |
+
// Redirect to original deactivation URL
|
199 |
+
window.location.href = url;
|
200 |
+
}
|
201 |
+
);
|
202 |
+
} );
|
203 |
+
|
204 |
+
formContainer.on( 'click', '#epsilon-deactivate-plugin', function( e ) {
|
205 |
+
e.preventDefault();
|
206 |
+
window.location.href = url;
|
207 |
+
} );
|
208 |
+
|
209 |
+
// If we click outside the form, the form will close
|
210 |
+
$( '.epsilon-deactivate-form-bg' ).on( 'click', function() {
|
211 |
+
formContainer.fadeOut();
|
212 |
+
$( 'body' ).removeClass( 'epsilon-deactivate-form-active' );
|
213 |
+
} );
|
214 |
+
} );
|
215 |
+
} );
|
216 |
+
</script>
|
217 |
+
<?php }
|
218 |
+
|
219 |
+
/*
|
220 |
+
* Form text strings
|
221 |
+
* These are non-filterable and used as fallback in case filtered strings aren't set correctly
|
222 |
+
* @since 1.0.0
|
223 |
+
*/
|
224 |
+
public function get_form_info() {
|
225 |
+
$form = array();
|
226 |
+
$form['heading'] = __( 'Sorry to see you go', 'sb-pack' );
|
227 |
+
$form['body'] = __( 'Before you deactivate the plugin, would you quickly give us your reason for doing so?', 'sb-pack' );
|
228 |
+
$form['options'] = array(
|
229 |
+
'setup' => __( 'Set up is too difficult', 'sb-pack' ),
|
230 |
+
'documentation' => __( 'Lack of documentation', 'sb-pack' ),
|
231 |
+
'features' => __( 'Not the features I wanted', 'sb-pack' ),
|
232 |
+
'better-plugin' => __( 'Found a better plugin', 'sb-pack' ),
|
233 |
+
'incompatibility' => __( 'Incompatible with theme or plugin', 'sb-pack' ),
|
234 |
+
);
|
235 |
+
$form['details'] = __( 'How could we improve ?', 'sb-pack' );
|
236 |
+
|
237 |
+
return $form;
|
238 |
+
}
|
239 |
+
|
240 |
+
public function epsilon_deactivate_plugin_callback() {
|
241 |
+
|
242 |
+
check_ajax_referer( 'epsilon_deactivate_plugin', 'security' );
|
243 |
+
|
244 |
+
if ( isset( $_POST['reason'] ) && isset( $_POST['details'] ) && isset( $_POST['tracking'] ) ) {
|
245 |
+
require_once 'class-epsilon-plugin-request.php';
|
246 |
+
$args = array(
|
247 |
+
'reason' => $_POST['reason'],
|
248 |
+
'details' => $_POST['details'],
|
249 |
+
'tracking' => $_POST['tracking'],
|
250 |
+
);
|
251 |
+
$request = new Epsilon_Plugin_Request( $this->plugin_file, $args );
|
252 |
+
if ( $request->request_successful ) {
|
253 |
+
echo json_encode( array(
|
254 |
+
'status' => 'ok',
|
255 |
+
) );
|
256 |
+
} else {
|
257 |
+
echo json_encode( array(
|
258 |
+
'status' => 'nok',
|
259 |
+
) );
|
260 |
+
}
|
261 |
+
} else {
|
262 |
+
echo json_encode( array(
|
263 |
+
'status' => 'ok',
|
264 |
+
) );
|
265 |
+
}
|
266 |
+
|
267 |
+
die();
|
268 |
+
|
269 |
+
}
|
270 |
+
|
271 |
+
}
|
feedback/class-epsilon-plugin-request.php
ADDED
@@ -0,0 +1,225 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Epsilon_Plugin_Request {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Url for the request
|
7 |
+
*
|
8 |
+
* @var string
|
9 |
+
*/
|
10 |
+
private $url = 'https://tamewp.com/';
|
11 |
+
/**
|
12 |
+
* Api endpoint
|
13 |
+
*
|
14 |
+
* @var string
|
15 |
+
*/
|
16 |
+
private $endpoint = 'wp-json/epsilon/v1/add-tracking-data';
|
17 |
+
/**
|
18 |
+
* Private data
|
19 |
+
*
|
20 |
+
* @var array
|
21 |
+
*/
|
22 |
+
private $data = array(
|
23 |
+
'server' => array(),
|
24 |
+
'user' => array(),
|
25 |
+
'wordpress' => array(
|
26 |
+
'deactivated_plugin' => array(),
|
27 |
+
),
|
28 |
+
);
|
29 |
+
/**
|
30 |
+
* Plugin file
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
private $plugin_file = '';
|
35 |
+
|
36 |
+
private $allow_tracking = 0;
|
37 |
+
|
38 |
+
public $request_successful = false;
|
39 |
+
|
40 |
+
function __construct( $_plugin_file, $args ) {
|
41 |
+
|
42 |
+
// Set variables
|
43 |
+
$this->allow_tracking = $args['tracking'];
|
44 |
+
$this->plugin_file = $_plugin_file;
|
45 |
+
$this->data['unique'] = md5( home_url() . get_bloginfo( 'admin_email' ) );
|
46 |
+
$this->data['wordpress']['deactivated_plugin']['uninstall_reason'] = $args['reason'];
|
47 |
+
$this->data['wordpress']['deactivated_plugin']['uninstall_details'] = $args['details'];
|
48 |
+
|
49 |
+
// Start collecting data
|
50 |
+
$this->_collect_data();
|
51 |
+
$this->_generate_url();
|
52 |
+
$this->request_successful = $this->_send_request();
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Collect all data for the request.
|
57 |
+
*
|
58 |
+
*/
|
59 |
+
private function _collect_data() {
|
60 |
+
|
61 |
+
$current_plugin = get_plugin_data( $this->plugin_file );
|
62 |
+
|
63 |
+
// Plugin data
|
64 |
+
$this->data['wordpress']['deactivated_plugin']['slug'] = $current_plugin['TextDomain'];
|
65 |
+
$this->data['wordpress']['deactivated_plugin']['name'] = $current_plugin['Name'];
|
66 |
+
$this->data['wordpress']['deactivated_plugin']['version'] = $current_plugin['Version'];
|
67 |
+
$this->data['wordpress']['deactivated_plugin']['author'] = $current_plugin['AuthorName'];
|
68 |
+
|
69 |
+
if ( $this->allow_tracking ) {
|
70 |
+
$this->_collect_wordpress_data();
|
71 |
+
$this->_collect_server_data();
|
72 |
+
$this->_collect_user_data();
|
73 |
+
}
|
74 |
+
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Collect WordPress data.
|
79 |
+
*
|
80 |
+
*/
|
81 |
+
private function _collect_wordpress_data() {
|
82 |
+
$this->data['wordpress']['locale'] = ( get_bloginfo( 'version' ) >= 4.7 ) ? get_user_locale() : get_locale();
|
83 |
+
$this->data['wordpress']['wp_version'] = get_bloginfo( 'version' );
|
84 |
+
$this->data['wordpress']['multisite'] = is_multisite();
|
85 |
+
|
86 |
+
$this->data['wordpress']['themes'] = $this->get_themes();
|
87 |
+
$this->data['wordpress']['plugins'] = $this->get_plugins();
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Collect server data.
|
92 |
+
*
|
93 |
+
*/
|
94 |
+
private function _collect_server_data() {
|
95 |
+
$this->data['server']['server'] = isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : '';
|
96 |
+
$this->data['server']['php_version'] = phpversion();
|
97 |
+
$this->data['server']['url'] = home_url();
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Collect user data.
|
102 |
+
*
|
103 |
+
*/
|
104 |
+
private function _collect_user_data() {
|
105 |
+
$admin = get_user_by( 'email', get_bloginfo( 'admin_email' ) );
|
106 |
+
if ( ! $admin ) {
|
107 |
+
$this->data['user']['email'] = '';
|
108 |
+
$this->data['user']['first_name'] = '';
|
109 |
+
$this->data['user']['last_name'] = '';
|
110 |
+
}else{
|
111 |
+
$this->data['user']['email'] = get_bloginfo( 'admin_email' );
|
112 |
+
$this->data['user']['first_name'] = $admin->first_name;
|
113 |
+
$this->data['user']['last_name'] = $admin->last_name;
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Get current themes
|
119 |
+
*
|
120 |
+
* @return array
|
121 |
+
*/
|
122 |
+
private function get_themes() {
|
123 |
+
$theme = wp_get_theme();
|
124 |
+
|
125 |
+
return array(
|
126 |
+
'installed' => $this->_get_installed_themes(),
|
127 |
+
'active' => array(
|
128 |
+
'slug' => get_stylesheet(),
|
129 |
+
'name' => $theme->get( 'Name' ),
|
130 |
+
'version' => $theme->get( 'Version' ),
|
131 |
+
'author' => $theme->get( 'Author' ),
|
132 |
+
),
|
133 |
+
);
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Get an array of installed themes
|
138 |
+
*/
|
139 |
+
private function _get_installed_themes() {
|
140 |
+
$installed = wp_get_themes();
|
141 |
+
$theme = get_stylesheet();
|
142 |
+
$arr = array();
|
143 |
+
|
144 |
+
foreach ( $installed as $slug => $info ) {
|
145 |
+
if ( $slug === $theme ) {
|
146 |
+
continue;
|
147 |
+
}
|
148 |
+
$arr[ $slug ] = array(
|
149 |
+
'slug' => $slug,
|
150 |
+
'name' => $info->get( 'Name' ),
|
151 |
+
'version' => $info->get( 'Version' ),
|
152 |
+
'author' => $info->get( 'Author' )
|
153 |
+
);
|
154 |
+
};
|
155 |
+
|
156 |
+
return $arr;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Get a list of installed plugins
|
161 |
+
*/
|
162 |
+
private function get_plugins() {
|
163 |
+
if ( ! function_exists( 'get_plugins' ) ) {
|
164 |
+
include ABSPATH . '/wp-admin/includes/plugin.php';
|
165 |
+
}
|
166 |
+
|
167 |
+
$plugins = get_plugins();
|
168 |
+
$option = get_option( 'active_plugins', array() );
|
169 |
+
$active = array();
|
170 |
+
$installed = array();
|
171 |
+
foreach ( $plugins as $id => $info ) {
|
172 |
+
if ( in_array( $id, $active ) ) {
|
173 |
+
continue;
|
174 |
+
}
|
175 |
+
|
176 |
+
$id = explode( '/', $id );
|
177 |
+
$id = ucwords( str_replace( '-', ' ', $id[0] ) );
|
178 |
+
|
179 |
+
$installed[] = $id;
|
180 |
+
}
|
181 |
+
|
182 |
+
foreach ( $option as $id ) {
|
183 |
+
$id = explode( '/', $id );
|
184 |
+
$id = ucwords( str_replace( '-', ' ', $id[0] ) );
|
185 |
+
|
186 |
+
$active[] = $id;
|
187 |
+
}
|
188 |
+
|
189 |
+
return array(
|
190 |
+
'installed' => $installed,
|
191 |
+
'active' => $active,
|
192 |
+
);
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Generate the url
|
197 |
+
*/
|
198 |
+
protected function _generate_url() {
|
199 |
+
$this->url = $this->url . $this->endpoint;
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* Send dat to server.
|
204 |
+
*
|
205 |
+
*/
|
206 |
+
private function _send_request() {
|
207 |
+
|
208 |
+
$request = wp_remote_post( $this->url, array(
|
209 |
+
'method' => 'POST',
|
210 |
+
'timeout' => 20,
|
211 |
+
'redirection' => 5,
|
212 |
+
'httpversion' => '1.1',
|
213 |
+
'blocking' => true,
|
214 |
+
'body' => $this->data,
|
215 |
+
'user-agent' => 'MT/EPSILON-CUSTOMER-TRACKING/' . esc_url( home_url() )
|
216 |
+
) );
|
217 |
+
|
218 |
+
if ( is_wp_error( $request ) ) {
|
219 |
+
return false;
|
220 |
+
}
|
221 |
+
|
222 |
+
return true;
|
223 |
+
|
224 |
+
}
|
225 |
+
}
|
inc/core.php
CHANGED
@@ -4,535 +4,608 @@
|
|
4 |
Plugin Core Functions
|
5 |
---------------------------------------------------------------------------------------------------------*/
|
6 |
|
7 |
-
if( !class_exists( 'Speed_Booster_Pack_Core' ) ) {
|
8 |
|
9 |
class Speed_Booster_Pack_Core {
|
10 |
|
11 |
public function __construct() {
|
12 |
|
13 |
global $sbp_options;
|
14 |
-
|
|
|
15 |
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_move_scripts_to_footer' ) );
|
16 |
-
if ( !is_admin() and isset( $sbp_options['jquery_to_footer'] ) ) {
|
17 |
add_action( 'wp_head', array( $this, 'sbp_scripts_to_head' ) );
|
18 |
-
add_action( 'wp_print_scripts', array( $this, 'sbp_exclude_scripts' ), 100 );
|
19 |
-
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_exclude_scripts' ), 100 );
|
20 |
}
|
21 |
-
add_action( '
|
22 |
add_action( 'after_setup_theme', array( $this, 'sbp_junk_header_tags' ) );
|
23 |
-
|
|
|
24 |
|
25 |
$this->sbp_css_optimizer(); // CSS Optimizer functions
|
26 |
|
27 |
-
if ( isset( $sbp_options['sbp_css_async'] ) ) {
|
28 |
-
add_action( 'wp_head', array( $this, 'sbp_except_admin_bar_css' ) );
|
29 |
-
}
|
30 |
|
31 |
// Use Google Libraries
|
32 |
-
if ( !is_admin() and isset( $sbp_options['use_google_libs'] ) ) {
|
33 |
$this->sbp_use_google_libraries();
|
34 |
}
|
35 |
|
36 |
-
|
37 |
-
if ( !is_admin() and isset( $sbp_options['lazy_load'] ) ) {
|
38 |
-
$this->sbp_lazy_load_for_images();
|
39 |
-
}
|
40 |
|
41 |
// Minifier
|
42 |
-
if ( !is_admin() and isset( $sbp_options['minify_html_js'] ) ) {
|
43 |
$this->sbp_minifier();
|
44 |
}
|
45 |
|
46 |
-
|
47 |
// Defer parsing of JavaScript
|
48 |
-
if ( !is_admin() and isset( $sbp_options['defer_parsing'] ) ) {
|
49 |
-
add_filter( '
|
50 |
}
|
51 |
|
52 |
// Remove query strings from static resources
|
53 |
-
if ( !is_admin() and isset( $sbp_options['query_strings'] ) ) {
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
if ( !is_admin() and isset( $sbp_options['query_strings'] ) ) {
|
58 |
-
add_filter( 'style_loader_src', array( $this, 'sbp_remove_query_strings_1' ), 15, 1 );
|
59 |
}
|
60 |
|
61 |
-
if ( !is_admin() and isset( $sbp_options['query_strings'] ) ) {
|
62 |
-
add_filter( 'script_loader_src', array( $this, 'sbp_remove_query_strings_2' ), 15, 1 );
|
63 |
-
}
|
64 |
-
|
65 |
-
if ( !is_admin() and isset( $sbp_options['query_strings'] ) ) {
|
66 |
-
add_filter( 'style_loader_src', array( $this, 'sbp_remove_query_strings_2' ), 15, 1 );
|
67 |
-
}
|
68 |
-
|
69 |
-
if ( !is_admin() and isset( $sbp_options['query_strings'] ) ) {
|
70 |
-
add_filter( 'script_loader_src', array( $this, 'sbp_remove_query_strings_3' ), 15, 1 );
|
71 |
-
}
|
72 |
-
|
73 |
-
if ( !is_admin() and isset( $sbp_options['query_strings'] ) ) {
|
74 |
-
add_filter( 'style_loader_src', array( $this, 'sbp_remove_query_strings_3' ), 15, 1 );
|
75 |
-
}
|
76 |
|
77 |
// JPEG Compression filter
|
78 |
add_filter( 'jpeg_quality', array( $this, 'filter_image_quality' ) );
|
79 |
add_filter( 'wp_editor_set_quality', array( $this, 'filter_image_quality' ) );
|
80 |
|
81 |
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
function sbp_init() {
|
90 |
-
|
91 |
-
global $sbp_options;
|
92 |
-
|
93 |
-
if ( wp_is_mobile() and isset ( $sbp_options['sbp_is_mobile'] ) ) { // disable all CSS options on mobile devices
|
94 |
-
return;
|
95 |
-
}
|
96 |
-
|
97 |
-
if ( !is_admin() and isset( $sbp_options['sbp_css_async'] ) ) {
|
98 |
-
add_action( 'wp_print_styles', array( $this, 'sbp_print_styles' ), SBP_FOOTER );
|
99 |
-
add_action( 'wp_footer', array( $this, 'sbp_print_delayed_styles' ), SBP_FOOTER+1 );
|
100 |
-
}
|
101 |
-
|
102 |
-
}
|
103 |
-
|
104 |
-
|
105 |
-
/*--------------------------------------------------------------------------------------------------------
|
106 |
-
Add except for the admin toolbar css since the Async CSS removes the dashicons from the toolbar.
|
107 |
-
---------------------------------------------------------------------------------------------------------*/
|
108 |
-
|
109 |
-
function sbp_except_admin_bar_css() {
|
110 |
-
|
111 |
-
if ( is_admin_bar_showing() ) { // enqueue the admin tolbar styles only if active
|
112 |
-
wp_enqueue_style( 'open-sans' );
|
113 |
-
wp_enqueue_style( 'dashicons' );
|
114 |
-
wp_enqueue_style( 'admin-bar' );
|
115 |
-
}
|
116 |
-
|
117 |
-
}
|
118 |
-
|
119 |
-
|
120 |
-
/*--------------------------------------------------------------------------------------------------------
|
121 |
-
Get image quality value if it's set. Otherwise it's set to 90
|
122 |
-
---------------------------------------------------------------------------------------------------------*/
|
123 |
-
|
124 |
-
function filter_image_quality() {
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
|
|
|
|
|
|
|
|
131 |
|
132 |
-
|
133 |
-
}
|
134 |
|
135 |
|
136 |
-
/*--------------------------------------------------------------------------------------------------------
|
137 |
-
|
138 |
-
---------------------------------------------------------------------------------------------------------*/
|
139 |
|
140 |
-
function
|
141 |
-
global $sbp_styles_are_async;
|
142 |
-
global $sbp_styles;
|
143 |
-
global $sbp_options;
|
144 |
|
145 |
-
|
146 |
-
return;
|
147 |
-
}
|
148 |
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
$minify = false;
|
153 |
-
}
|
154 |
|
155 |
-
|
|
|
|
|
|
|
156 |
|
157 |
-
|
158 |
|
159 |
-
if ( !isset( $sbp_options['sbp_footer_css'] ) ) {
|
160 |
|
161 |
-
|
|
|
|
|
162 |
|
163 |
-
|
164 |
-
echo "<style type=\"text/css\" ".($style['media'] ? "media=\"{$style['media']}\"" : '' ).">";
|
165 |
-
if (!sbp_inline_css($style['src'],$minify)){
|
166 |
-
$not_inlined[] = $style;
|
167 |
-
}
|
168 |
-
echo "</style>";
|
169 |
-
}
|
170 |
-
if ( !empty( $not_inlined) ) {
|
171 |
-
foreach ( $not_inlined as $style ){
|
172 |
-
?><link rel="stylesheet" href="<?php echo $style['src']?>" type="text/css" <?php echo $style['media'] ? "media=\"{$style['media']}\"" : ''?> /><?php
|
173 |
-
}
|
174 |
-
}
|
175 |
-
}
|
176 |
|
177 |
-
|
178 |
-
|
|
|
|
|
|
|
179 |
|
|
|
|
|
180 |
|
181 |
-
/*--------------------------------------------------------------------------------------------------------
|
182 |
-
ACTION wp_footer
|
183 |
-
---------------------------------------------------------------------------------------------------------*/
|
184 |
|
185 |
-
|
|
|
|
|
186 |
|
187 |
-
|
188 |
-
|
|
|
|
|
189 |
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
|
196 |
-
|
197 |
|
198 |
-
|
199 |
-
foreach ( $sbp_styles as $style ) {
|
200 |
-
echo "<style type=\"text/css\" ".($style['media'] ? "media=\"{$style['media']}\"" : '' ).">";
|
201 |
-
if ( !sbp_inline_css($style['src'],$minify) ) {
|
202 |
-
$not_inlined[] = $style;
|
203 |
-
}
|
204 |
-
echo "</style>";
|
205 |
-
}
|
206 |
-
if ( !empty( $not_inlined ) ) {
|
207 |
-
foreach ( $not_inlined as $style ) {
|
208 |
-
?><link rel="stylesheet" href="<?php echo $style['src']?>" type="text/css" <?php echo $style['media'] ? "media=\"{$style['media']}\"" : ''?> /><?php
|
209 |
-
}
|
210 |
-
}
|
211 |
-
}
|
212 |
-
}
|
213 |
|
|
|
214 |
|
215 |
-
|
216 |
-
Moves scripts to the footer to decrease page load times, while keeping stylesheets in the header
|
217 |
-
---------------------------------------------------------------------------------------------------------*/
|
218 |
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
|
221 |
-
|
|
|
222 |
|
223 |
-
if ( !is_admin() and isset( $sbp_options['jquery_to_footer'] ) ) {
|
224 |
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
|
229 |
-
|
|
|
|
|
230 |
|
231 |
-
|
|
|
|
|
|
|
|
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
|
234 |
-
/*--------------------------------------------------------------------------------------------------------
|
235 |
-
Exclude scripts from "Move scripts to footer" option
|
236 |
-
---------------------------------------------------------------------------------------------------------*/
|
237 |
|
238 |
-
|
|
|
|
|
239 |
|
|
|
240 |
|
241 |
-
|
242 |
-
$sbp_handle1 = esc_html( get_option( 'sbp_js_footer_exceptions1' ) );
|
243 |
-
}
|
244 |
|
245 |
-
|
246 |
-
$sbp_handle2 = esc_html( get_option( 'sbp_js_footer_exceptions2' ) );
|
247 |
-
}
|
248 |
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
|
253 |
-
|
254 |
-
$sbp_handle4 = esc_html( get_option( 'sbp_js_footer_exceptions4' ) );
|
255 |
-
}
|
256 |
|
257 |
-
|
258 |
-
$sbp_reg = 'registered';
|
259 |
-
$sbp_done = 'done';
|
260 |
|
261 |
-
/*--------------------------------------------------------------------------------------------------------*/
|
262 |
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
|
267 |
-
|
268 |
-
wp_dequeue_script( $sbp_handle2 );
|
269 |
-
}
|
270 |
|
271 |
-
if ( get_option( 'sbp_js_footer_exceptions3' ) and wp_script_is( $sbp_handle3 , $sbp_enq ) ) {
|
272 |
-
wp_dequeue_script( $sbp_handle3 );
|
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 |
-
if ( get_option( 'sbp_js_footer_exceptions3' ) and wp_script_is( $sbp_handle3 , $sbp_done ) ) {
|
308 |
-
wp_deregister_script( $sbp_handle3 );
|
309 |
-
}
|
310 |
|
311 |
-
|
312 |
-
|
313 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
|
315 |
-
|
|
|
|
|
|
|
316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
|
318 |
-
|
319 |
-
|
320 |
-
|
|
|
321 |
|
322 |
-
|
|
|
|
|
|
|
|
|
323 |
|
324 |
-
|
325 |
-
echo get_option( 'sbp_head_html_script1' ) . "\n";
|
326 |
|
327 |
-
|
|
|
|
|
|
|
328 |
|
329 |
-
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
332 |
|
333 |
-
if ( get_option( 'sbp_head_html_script3' ) ) {
|
334 |
-
echo get_option( 'sbp_head_html_script3' ) . "\n";
|
335 |
-
}
|
336 |
|
337 |
-
|
338 |
-
|
339 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
|
341 |
-
}
|
342 |
|
343 |
|
344 |
-
/*--------------------------------------------------------------------------------------------------------
|
345 |
-
|
346 |
-
---------------------------------------------------------------------------------------------------------*/
|
347 |
|
348 |
-
function sbp_show_page_load_stats() {
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
}
|
354 |
|
355 |
|
356 |
-
/*--------------------------------------------------------------------------------------------------------
|
357 |
-
|
358 |
-
---------------------------------------------------------------------------------------------------------*/
|
359 |
|
360 |
-
function sbp_use_google_libraries() {
|
361 |
|
362 |
-
|
363 |
|
364 |
-
|
365 |
-
|
366 |
|
367 |
-
|
368 |
|
369 |
-
}
|
370 |
|
371 |
|
372 |
-
/*--------------------------------------------------------------------------------------------------------
|
373 |
-
Lazy Load for images
|
374 |
-
---------------------------------------------------------------------------------------------------------*/
|
375 |
|
376 |
-
function sbp_lazy_load_for_images() {
|
377 |
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
} // End function sbp_lazy_load_for_images()
|
382 |
|
|
|
383 |
|
|
|
|
|
384 |
|
385 |
-
/*--------------------------------------------------------------------------------------------------------
|
386 |
-
Minify HTML and Javascripts
|
387 |
-
---------------------------------------------------------------------------------------------------------*/
|
388 |
|
389 |
-
|
|
|
|
|
390 |
|
391 |
-
|
392 |
-
} // End function sbp_minifier()
|
393 |
|
|
|
394 |
|
395 |
-
|
396 |
-
CSS Optimizer
|
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 |
-
if ( get_option( 'sbp_defer_exceptions4' ) ) {
|
425 |
-
$defer_exclude4 = get_option( 'sbp_defer_exceptions4' );
|
426 |
-
}
|
427 |
|
|
|
|
|
|
|
428 |
|
429 |
-
|
430 |
-
return $url;
|
431 |
-
}
|
432 |
|
|
|
433 |
|
434 |
-
if ( get_option( 'sbp_defer_exceptions1' ) and strpos( $url, $defer_exclude1 ) ) {
|
435 |
-
return $url;
|
436 |
-
}
|
437 |
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
|
442 |
-
|
443 |
-
return $url;
|
444 |
-
}
|
445 |
|
446 |
-
|
447 |
-
return $url;
|
448 |
-
}
|
449 |
|
450 |
-
|
451 |
|
452 |
-
}
|
453 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
454 |
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
|
459 |
-
function
|
460 |
-
|
461 |
-
return $
|
462 |
-
}
|
|
|
|
|
|
|
463 |
|
464 |
-
function
|
465 |
-
|
466 |
-
|
467 |
-
|
|
|
468 |
|
469 |
-
|
470 |
-
|
471 |
-
return $rqsfsr[0];
|
472 |
-
}
|
473 |
|
|
|
|
|
|
|
474 |
|
475 |
-
|
476 |
-
|
477 |
-
---------------------------------------------------------------------------------------------------------*/
|
478 |
|
479 |
-
|
480 |
-
|
481 |
-
global $sbp_options;
|
482 |
-
|
483 |
-
// we'll use preg_match to find only the following patterns as exact matches, to prevent other plugin stylesheets that contain font-awesome expression to be also dequeued
|
484 |
-
$patterns = array(
|
485 |
-
'font-awesome.css',
|
486 |
-
'font-awesome.min.css'
|
487 |
-
);
|
488 |
-
// multiple patterns hook
|
489 |
-
$regex = '/(' .implode('|', $patterns) .')/i';
|
490 |
-
foreach( $wp_styles -> registered as $registered ) {
|
491 |
-
if( !is_admin() and preg_match( $regex, $registered->src) and isset( $sbp_options['font_awesome'] ) ) {
|
492 |
-
wp_dequeue_style( $registered->handle );
|
493 |
-
// FA was dequeued, so here we need to enqueue it again from CDN
|
494 |
-
wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css' );
|
495 |
-
} // END if( preg_match...
|
496 |
-
} // END foreach
|
497 |
-
} // End function dfa_no_more_fontawesome
|
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 |
} // END class Speed_Booster_Pack_Core
|
537 |
-
|
538 |
} // END if(!class_exists('Speed_Booster_Pack_Core'))
|
4 |
Plugin Core Functions
|
5 |
---------------------------------------------------------------------------------------------------------*/
|
6 |
|
7 |
+
if ( ! class_exists( 'Speed_Booster_Pack_Core' ) ) {
|
8 |
|
9 |
class Speed_Booster_Pack_Core {
|
10 |
|
11 |
public function __construct() {
|
12 |
|
13 |
global $sbp_options;
|
14 |
+
|
15 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_no_more_fontawesome' ), 9999 );
|
16 |
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_move_scripts_to_footer' ) );
|
17 |
+
if ( ! is_admin() and isset( $sbp_options['jquery_to_footer'] ) ) {
|
18 |
add_action( 'wp_head', array( $this, 'sbp_scripts_to_head' ) );
|
|
|
|
|
19 |
}
|
20 |
+
add_action( 'init', array( $this, 'sbp_show_page_load_stats' ), 999 );
|
21 |
add_action( 'after_setup_theme', array( $this, 'sbp_junk_header_tags' ) );
|
22 |
+
add_action( 'init', array( $this, 'sbp_init' ) );
|
23 |
+
|
24 |
|
25 |
$this->sbp_css_optimizer(); // CSS Optimizer functions
|
26 |
|
|
|
|
|
|
|
27 |
|
28 |
// Use Google Libraries
|
29 |
+
if ( ! is_admin() and isset( $sbp_options['use_google_libs'] ) ) {
|
30 |
$this->sbp_use_google_libraries();
|
31 |
}
|
32 |
|
33 |
+
|
|
|
|
|
|
|
34 |
|
35 |
// Minifier
|
36 |
+
if ( ! is_admin() and isset( $sbp_options['minify_html_js'] ) ) {
|
37 |
$this->sbp_minifier();
|
38 |
}
|
39 |
|
|
|
40 |
// Defer parsing of JavaScript
|
41 |
+
if ( ! is_admin() and isset( $sbp_options['defer_parsing'] ) ) {
|
42 |
+
add_filter( 'script_loader_tag', array( $this, 'sbp_defer_parsing_of_js' ), 10, 3 );
|
43 |
}
|
44 |
|
45 |
// Remove query strings from static resources
|
46 |
+
if ( ! is_admin() and isset( $sbp_options['query_strings'] ) ) {
|
47 |
+
add_filter( 'script_loader_src', array( $this, 'sbp_remove_query_strings' ), 15, 1 );
|
48 |
+
add_filter( 'style_loader_src', array( $this, 'sbp_remove_query_strings' ), 15, 1 );
|
|
|
|
|
|
|
49 |
}
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
// JPEG Compression filter
|
53 |
add_filter( 'jpeg_quality', array( $this, 'filter_image_quality' ) );
|
54 |
add_filter( 'wp_editor_set_quality', array( $this, 'filter_image_quality' ) );
|
55 |
|
56 |
|
57 |
+
/**
|
58 |
+
* @since 3.7
|
59 |
+
*/
|
60 |
+
// Disable emojis
|
61 |
+
if ( ! is_admin() && isset( $sbp_options['remove_emojis'] ) ) {
|
62 |
+
add_action( 'init', array( $this, 'sbp_disable_emojis' ) );
|
63 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
+
/**
|
66 |
+
* @since 3.7
|
67 |
+
*/
|
68 |
+
// Disable XML-RPC
|
69 |
+
if ( ! isset( $sbp_options['disable_xmlrpc'] ) ) {
|
70 |
+
add_filter( 'xmlrpc_enabled', '__return_false' );
|
71 |
+
add_filter( 'wp_headers', array( $this, 'sbp_remove_x_pingback' ) );
|
72 |
+
add_filter( 'pings_open', '__return_false', 9999 );
|
73 |
+
}
|
74 |
|
75 |
+
} // END public public function __construct
|
|
|
76 |
|
77 |
|
78 |
+
/*--------------------------------------------------------------------------------------------------------
|
79 |
+
Init the CSS Optimizer actions
|
80 |
+
---------------------------------------------------------------------------------------------------------*/
|
81 |
|
82 |
+
function sbp_init() {
|
|
|
|
|
|
|
83 |
|
84 |
+
global $sbp_options;
|
|
|
|
|
85 |
|
86 |
+
if ( wp_is_mobile() and isset ( $sbp_options['sbp_is_mobile'] ) ) { // disable all CSS options on mobile devices
|
87 |
+
return;
|
88 |
+
}
|
|
|
|
|
89 |
|
90 |
+
if ( ! is_admin() and isset( $sbp_options['sbp_css_async'] ) ) {
|
91 |
+
add_action( 'wp_print_styles', array( $this, 'sbp_print_styles' ), SBP_FOOTER );
|
92 |
+
add_action( 'wp_footer', array( $this, 'sbp_print_delayed_styles' ), SBP_FOOTER + 1 );
|
93 |
+
}
|
94 |
|
95 |
+
}
|
96 |
|
|
|
97 |
|
98 |
+
/*--------------------------------------------------------------------------------------------------------
|
99 |
+
Get image quality value if it's set. Otherwise it's set to 90
|
100 |
+
---------------------------------------------------------------------------------------------------------*/
|
101 |
|
102 |
+
function filter_image_quality() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
+
if ( get_option( 'sbp_integer' ) ) {
|
105 |
+
$sbp_compression = get_option( 'sbp_integer' );
|
106 |
+
} else {
|
107 |
+
$sbp_compression = 75; //@since v3.7
|
108 |
+
}
|
109 |
|
110 |
+
return $sbp_compression;
|
111 |
+
}
|
112 |
|
|
|
|
|
|
|
113 |
|
114 |
+
/*--------------------------------------------------------------------------------------------------------
|
115 |
+
ACTION wp_print_styles
|
116 |
+
---------------------------------------------------------------------------------------------------------*/
|
117 |
|
118 |
+
function sbp_print_styles() {
|
119 |
+
global $sbp_styles_are_async;
|
120 |
+
global $sbp_styles;
|
121 |
+
global $sbp_options;
|
122 |
|
123 |
+
if ( isset( $sbp_options['sbp_css_minify'] ) ) {
|
124 |
+
$minify = true;
|
125 |
+
} else {
|
126 |
+
$minify = false;
|
127 |
+
}
|
128 |
|
129 |
+
$sbp_styles_are_async = true;
|
130 |
|
131 |
+
$sbp_styles = sbp_generate_styles_list();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
|
133 |
+
if ( ! isset( $sbp_options['sbp_footer_css'] ) ) {
|
134 |
|
135 |
+
$not_inlined = array();
|
|
|
|
|
136 |
|
137 |
+
foreach ( $sbp_styles as $style ) {
|
138 |
+
echo "<style type=\"text/css\" " . ( $style['media'] ? "media=\"{$style['media']}\"" : '' ) . ">";
|
139 |
+
if ( ! sbp_inline_css( $style['src'], $minify ) ) {
|
140 |
+
$not_inlined[] = $style;
|
141 |
+
}
|
142 |
+
echo "</style>";
|
143 |
+
}
|
144 |
+
if ( ! empty( $not_inlined ) ) {
|
145 |
+
foreach ( $not_inlined as $style ) {
|
146 |
+
?>
|
147 |
+
<link rel="stylesheet" href="<?php echo $style['src'] ?>" type="text/css" <?php echo $style['media'] ? "media=\"{$style['media']}\"" : '' ?> /><?php
|
148 |
+
}
|
149 |
+
}
|
150 |
+
}
|
151 |
|
152 |
+
sbp_unregister_styles();
|
153 |
+
}
|
154 |
|
|
|
155 |
|
156 |
+
/*--------------------------------------------------------------------------------------------------------
|
157 |
+
ACTION wp_footer
|
158 |
+
---------------------------------------------------------------------------------------------------------*/
|
159 |
|
160 |
+
function sbp_print_delayed_styles() {
|
161 |
+
global $sbp_styles;
|
162 |
+
global $sbp_options;
|
163 |
|
164 |
+
if ( isset( $sbp_options['sbp_css_minify'] ) ) {
|
165 |
+
$minify = true;
|
166 |
+
} else {
|
167 |
+
$minify = false;
|
168 |
+
}
|
169 |
|
170 |
+
if ( isset( $sbp_options['sbp_footer_css'] ) ) {
|
171 |
+
|
172 |
+
$not_inlined = array();
|
173 |
+
foreach ( $sbp_styles as $style ) {
|
174 |
+
echo "<style type=\"text/css\" " . ( $style['media'] ? "media=\"{$style['media']}\"" : '' ) . ">";
|
175 |
+
if ( ! sbp_inline_css( $style['src'], $minify ) ) {
|
176 |
+
$not_inlined[] = $style;
|
177 |
+
}
|
178 |
+
echo "</style>";
|
179 |
+
}
|
180 |
+
if ( ! empty( $not_inlined ) ) {
|
181 |
+
foreach ( $not_inlined as $style ) {
|
182 |
+
?>
|
183 |
+
<link rel="stylesheet" href="<?php echo $style['src'] ?>" type="text/css" <?php echo $style['media'] ? "media=\"{$style['media']}\"" : '' ?> /><?php
|
184 |
+
}
|
185 |
+
}
|
186 |
+
}
|
187 |
+
}
|
188 |
|
|
|
|
|
|
|
189 |
|
190 |
+
/*--------------------------------------------------------------------------------------------------------
|
191 |
+
Moves scripts to the footer to decrease page load times, while keeping stylesheets in the header
|
192 |
+
---------------------------------------------------------------------------------------------------------*/
|
193 |
|
194 |
+
function sbp_move_scripts_to_footer() {
|
195 |
|
196 |
+
global $sbp_options;
|
|
|
|
|
197 |
|
198 |
+
if ( ! is_admin() and isset( $sbp_options['jquery_to_footer'] ) ) {
|
|
|
|
|
199 |
|
200 |
+
remove_action( 'wp_head', 'wp_print_scripts' );
|
201 |
+
remove_action( 'wp_head', 'wp_print_head_scripts', 9 );
|
202 |
+
remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
|
203 |
|
204 |
+
}
|
|
|
|
|
205 |
|
206 |
+
} // END function sbp_move_scripts_to_footer
|
|
|
|
|
207 |
|
|
|
208 |
|
209 |
+
/*--------------------------------------------------------------------------------------------------------
|
210 |
+
Put scripts back to the head
|
211 |
+
---------------------------------------------------------------------------------------------------------*/
|
212 |
|
213 |
+
public function sbp_scripts_to_head() {
|
|
|
|
|
214 |
|
|
|
|
|
|
|
215 |
|
216 |
+
if ( get_option( 'sbp_head_html_script1' ) ) {
|
217 |
+
echo get_option( 'sbp_head_html_script1' ) . "\n";
|
218 |
+
}
|
219 |
|
220 |
+
if ( get_option( 'sbp_head_html_script2' ) ) {
|
221 |
+
echo get_option( 'sbp_head_html_script2' ) . "\n";
|
222 |
+
}
|
223 |
|
224 |
+
if ( get_option( 'sbp_head_html_script3' ) ) {
|
225 |
+
echo get_option( 'sbp_head_html_script3' ) . "\n";
|
226 |
+
}
|
227 |
|
228 |
+
if ( get_option( 'sbp_head_html_script4' ) ) {
|
229 |
+
echo get_option( 'sbp_head_html_script4' ) . "\n";
|
230 |
+
}
|
231 |
|
232 |
+
/**
|
233 |
+
* Default: add jQuery to header always
|
234 |
+
*
|
235 |
+
* @since 3.7
|
236 |
+
*/
|
237 |
+
global $wp_scripts;
|
238 |
+
$js_footer_exceptions1 = '';
|
239 |
+
$js_footer_exceptions2 = '';
|
240 |
+
$js_footer_exceptions3 = '';
|
241 |
+
$js_footer_exceptions4 = '';
|
242 |
+
|
243 |
+
if ( get_option( 'sbp_js_footer_exceptions1' ) ) {
|
244 |
+
$js_footer_exceptions1 = get_option( 'sbp_js_footer_exceptions1' );
|
245 |
+
}
|
246 |
|
247 |
+
if ( get_option( 'sbp_js_footer_exceptions2' ) ) {
|
248 |
+
$js_footer_exceptions2 = get_option( 'sbp_js_footer_exceptions2' );
|
249 |
+
}
|
250 |
|
251 |
+
if ( get_option( 'sbp_js_footer_exceptions3' ) ) {
|
252 |
+
$js_footer_exceptions3 = get_option( 'sbp_js_footer_exceptions3' );
|
253 |
+
}
|
254 |
|
255 |
+
if ( get_option( 'sbp_js_footer_exceptions4' ) ) {
|
256 |
+
$js_footer_exceptions4 = get_option( 'sbp_js_footer_exceptions4' );
|
257 |
+
}
|
258 |
|
259 |
+
$sbp_enq = 'enqueued';
|
260 |
+
$sbp_reg = 'registered';
|
261 |
+
$sbp_done = 'done';
|
262 |
+
|
263 |
+
/**
|
264 |
+
* Echo jQuery in header all the time, if none of the other options contain in
|
265 |
+
*
|
266 |
+
* @since 3.7
|
267 |
+
*
|
268 |
+
* New solution, going forward so not to crash so many sites anymore
|
269 |
+
*
|
270 |
+
* This should come BEFORE the fallback function, since jQuery should be ALWAYS
|
271 |
+
* the first loaded script.
|
272 |
+
*
|
273 |
+
*/
|
274 |
+
if ( $js_footer_exceptions1 !== 'jquery-core' || $js_footer_exceptions2 !== 'jquery-core' || $js_footer_exceptions3 !== 'jquery-core' || $js_footer_exceptions4 !== 'jquery-core' ) {
|
275 |
+
|
276 |
+
// if the script actually exists, dequeue it and re-add it for header inclusion
|
277 |
+
$script_src = $wp_scripts->registered['jquery-core']->src;
|
278 |
+
|
279 |
+
if ( strpos( $script_src, 'wp-includes' ) == true ) { // it's a local resource, append wordpress installation URL
|
280 |
+
echo '<script type="text/javascript" src="' . get_site_url() . esc_attr( $script_src ) . '"></script>';
|
281 |
+
} else {
|
282 |
+
echo '<script type="text/javascript" src="' . esc_attr( $script_src ) . '"></script>';
|
283 |
+
}
|
284 |
+
|
285 |
+
// deregister & dequeue the script
|
286 |
+
wp_deregister_script( 'jquery-core' );
|
287 |
+
wp_dequeue_script( 'jquery-core' );
|
288 |
+
}
|
289 |
|
|
|
|
|
|
|
290 |
|
291 |
+
/**
|
292 |
+
* Echo the scripts in the header
|
293 |
+
*
|
294 |
+
* @since 3.7
|
295 |
+
*
|
296 |
+
* Fallback for previous plugin users
|
297 |
+
*
|
298 |
+
*/
|
299 |
+
if ( array_key_exists( $js_footer_exceptions1, $wp_scripts->registered ) ) {
|
300 |
+
$script_src = '';
|
301 |
+
// if the script actually exists, dequeue it and re-add it for header inclusion
|
302 |
+
$script_src = $wp_scripts->registered[ $js_footer_exceptions1 ]->src;
|
303 |
+
|
304 |
+
if ( strpos( $script_src, 'wp-includes' ) == true ) { // it's a local resource, append wordpress installation URL
|
305 |
+
echo '<script type="text/javascript" src="' . esc_attr( $script_src ) . '"></script>';
|
306 |
+
} else {
|
307 |
+
echo '<script type="text/javascript" src="' . esc_attr( $script_src ) . '"></script>';
|
308 |
+
}
|
309 |
+
}
|
310 |
|
311 |
+
if ( array_key_exists( $js_footer_exceptions2, $wp_scripts->registered ) ) {
|
312 |
+
$script_src = '';
|
313 |
+
// if the script actually exists, dequeue it and re-add it for header inclusion
|
314 |
+
$script_src = $wp_scripts->registered[ $js_footer_exceptions2 ]->src;
|
315 |
|
316 |
+
if ( strpos( $script_src, 'wp-includes' ) == true ) {
|
317 |
+
echo '<script type="text/javascript" src="' . get_site_url() . esc_attr( $script_src ) . '"></script>';
|
318 |
+
} else {
|
319 |
+
echo '<script type="text/javascript" src="' . esc_attr( $script_src ) . '"></script>';
|
320 |
+
}
|
321 |
+
}
|
322 |
|
323 |
+
if ( array_key_exists( $js_footer_exceptions3, $wp_scripts->registered ) ) {
|
324 |
+
$script_src = '';
|
325 |
+
// if the script actually exists, dequeue it and re-add it for header inclusion
|
326 |
+
$script_src = $wp_scripts->registered[ $js_footer_exceptions3 ]->src;
|
327 |
|
328 |
+
if ( strpos( $script_src, 'wp-includes' ) == true ) {
|
329 |
+
echo '<script type="text/javascript" src="' . get_site_url() . esc_attr( $script_src ) . '"></script>';
|
330 |
+
} else {
|
331 |
+
echo '<script type="text/javascript" src="' . esc_attr( $script_src ) . '"></script>';
|
332 |
+
}
|
333 |
|
334 |
+
}
|
|
|
335 |
|
336 |
+
if ( array_key_exists( $js_footer_exceptions4, $wp_scripts->registered ) ) {
|
337 |
+
$script_src = '';
|
338 |
+
// if the script actually exists, dequeue it and re-add it for header inclusion
|
339 |
+
$script_src = $wp_scripts->registered[ $js_footer_exceptions4 ]->src;
|
340 |
|
341 |
+
if ( strpos( $script_src, 'wp-includes' ) == true ) { // it's a local resource, append wordpress installation URL
|
342 |
+
echo '<script type="text/javascript" src="' . get_site_url() . esc_attr( $script_src ) . '"></script>';
|
343 |
+
} else {
|
344 |
+
echo '<script type="text/javascript" src="' . esc_attr( $script_src ) . '"></script>';
|
345 |
+
}
|
346 |
+
}
|
347 |
|
|
|
|
|
|
|
348 |
|
349 |
+
/**
|
350 |
+
* De-register the scripts from other parts of the site since they're already echo-ed in the header
|
351 |
+
*/
|
352 |
+
/*--------------------------------------------------------------------------------------------------------*/
|
353 |
+
if ( ! empty( $sbp_js_footer_exceptions1 ) and wp_script_is( $js_footer_exceptions1, $sbp_enq ) ) {
|
354 |
+
wp_dequeue_script( $js_footer_exceptions1 );
|
355 |
+
}
|
356 |
+
if ( ! empty( $sbp_js_footer_exceptions2 ) and wp_script_is( $js_footer_exceptions2, $sbp_enq ) ) {
|
357 |
+
wp_dequeue_script( $js_footer_exceptions2 );
|
358 |
+
}
|
359 |
+
if ( ! empty( $sbp_js_footer_exceptions3 ) and wp_script_is( $js_footer_exceptions3, $sbp_enq ) ) {
|
360 |
+
wp_dequeue_script( $sbp_js_footer_exceptions3 );
|
361 |
+
}
|
362 |
+
if ( ! empty( $sbp_js_footer_exceptions4 ) and wp_script_is( $js_footer_exceptions4, $sbp_enq ) ) {
|
363 |
+
wp_dequeue_script( $sbp_js_footer_exceptions4 );
|
364 |
+
}
|
365 |
+
/*--------------------------------------------------------------------------------------------------------*/
|
366 |
+
if ( ! empty( $js_footer_exceptions1 ) and wp_script_is( $js_footer_exceptions1, $sbp_reg ) ) {
|
367 |
+
wp_deregister_script( $js_footer_exceptions1 );
|
368 |
+
}
|
369 |
+
if ( ! empty( $js_footer_exceptions2 ) and wp_script_is( $js_footer_exceptions2, $sbp_reg ) ) {
|
370 |
+
wp_deregister_script( $js_footer_exceptions2 );
|
371 |
+
}
|
372 |
+
if ( ! empty( $js_footer_exceptions3 ) and wp_script_is( $js_footer_exceptions3, $sbp_reg ) ) {
|
373 |
+
wp_deregister_script( $js_footer_exceptions3 );
|
374 |
+
}
|
375 |
+
if ( ! empty( $js_footer_exceptions4 ) and wp_script_is( $js_footer_exceptions4, $sbp_reg ) ) {
|
376 |
+
wp_deregister_script( $js_footer_exceptions4 );
|
377 |
+
}
|
378 |
+
/*--------------------------------------------------------------------------------------------------------*/
|
379 |
+
if ( ! empty( $js_footer_exceptions1 ) and wp_script_is( $js_footer_exceptions1, $sbp_done ) ) {
|
380 |
+
wp_deregister_script( $js_footer_exceptions1 );
|
381 |
+
}
|
382 |
+
if ( ! empty( $js_footer_exceptions2 ) and wp_script_is( $js_footer_exceptions2, $sbp_done ) ) {
|
383 |
+
wp_deregister_script( $js_footer_exceptions2 );
|
384 |
+
}
|
385 |
+
if ( ! empty( $js_footer_exceptions3 ) and wp_script_is( $js_footer_exceptions3, $sbp_done ) ) {
|
386 |
+
wp_deregister_script( $js_footer_exceptions3 );
|
387 |
+
}
|
388 |
+
if ( ! empty( $js_footer_exceptions4 ) and wp_script_is( $js_footer_exceptions4, $sbp_done ) ) {
|
389 |
+
wp_deregister_script( $js_footer_exceptions4 );
|
390 |
+
}
|
391 |
|
392 |
+
}
|
393 |
|
394 |
|
395 |
+
/*--------------------------------------------------------------------------------------------------------
|
396 |
+
Show Number of Queries and Page Load Time
|
397 |
+
---------------------------------------------------------------------------------------------------------*/
|
398 |
|
399 |
+
function sbp_show_page_load_stats() {
|
400 |
+
$timer_stop = timer_stop( 0, 2 ); // to display milliseconds instead of seconds usethe following: $timer_stop = 1000 * ( float ) timer_stop( 0, 4 );
|
401 |
+
$get_num_queries = get_num_queries();
|
402 |
+
update_option( 'sbp_page_time', $timer_stop );
|
403 |
+
update_option( 'sbp_page_queries', $get_num_queries );
|
404 |
+
}
|
405 |
|
406 |
|
407 |
+
/*--------------------------------------------------------------------------------------------------------
|
408 |
+
Use Google Libraries
|
409 |
+
---------------------------------------------------------------------------------------------------------*/
|
410 |
|
411 |
+
function sbp_use_google_libraries() {
|
412 |
|
413 |
+
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/use-google-libraries.php' );
|
414 |
|
415 |
+
if ( class_exists( 'SBP_GoogleLibraries' ) ) {
|
416 |
+
SBP_GoogleLibraries::configure_plugin();
|
417 |
|
418 |
+
}
|
419 |
|
420 |
+
} // End function sbp_use_google_libraries()
|
421 |
|
422 |
|
|
|
|
|
|
|
423 |
|
|
|
424 |
|
425 |
+
/*--------------------------------------------------------------------------------------------------------
|
426 |
+
Minify HTML and Javascripts
|
427 |
+
---------------------------------------------------------------------------------------------------------*/
|
|
|
428 |
|
429 |
+
function sbp_minifier() {
|
430 |
|
431 |
+
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/sbp-minifier.php' );
|
432 |
+
} // End function sbp_minifier()
|
433 |
|
|
|
|
|
|
|
434 |
|
435 |
+
/*--------------------------------------------------------------------------------------------------------
|
436 |
+
CSS Optimizer
|
437 |
+
---------------------------------------------------------------------------------------------------------*/
|
438 |
|
439 |
+
function sbp_css_optimizer() {
|
|
|
440 |
|
441 |
+
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/css-optimizer.php' );
|
442 |
|
443 |
+
} // End function sbp_css_optimizer()
|
|
|
|
|
444 |
|
445 |
+
/*--------------------------------------------------------------------------------------------------------
|
446 |
+
Defer parsing of JavaScript and exclusion files
|
447 |
+
---------------------------------------------------------------------------------------------------------*/
|
448 |
|
449 |
+
function sbp_defer_parsing_of_js( $tag, $handle, $src ) {
|
450 |
|
451 |
+
$defer_exclude1 = '';
|
452 |
+
$defer_exclude2 = '';
|
453 |
+
$defer_exclude3 = '';
|
454 |
+
$defer_exclude4 = '';
|
455 |
|
456 |
+
if ( get_option( 'sbp_defer_exceptions1' ) ) {
|
457 |
+
$defer_exclude1 = get_option( 'sbp_defer_exceptions1' );
|
458 |
+
}
|
459 |
|
460 |
+
if ( get_option( 'sbp_defer_exceptions2' ) ) {
|
461 |
+
$defer_exclude2 = get_option( 'sbp_defer_exceptions2' );
|
462 |
+
}
|
463 |
|
464 |
+
if ( get_option( 'sbp_defer_exceptions3' ) ) {
|
465 |
+
$defer_exclude3 = get_option( 'sbp_defer_exceptions3' );
|
466 |
+
}
|
467 |
|
468 |
+
if ( get_option( 'sbp_defer_exceptions4' ) ) {
|
469 |
+
$defer_exclude4 = get_option( 'sbp_defer_exceptions4' );
|
470 |
+
}
|
471 |
|
472 |
+
$array_with_values[] = $defer_exclude1;
|
473 |
+
$array_with_values[] = $defer_exclude2;
|
474 |
+
$array_with_values[] = $defer_exclude3;
|
475 |
+
$array_with_values[] = $defer_exclude4;
|
476 |
|
477 |
+
$array_with_values = apply_filters( 'sbp_exclude_defer_scripts', $array_with_values ); // possibility of extending this via filters
|
478 |
+
$array_with_values = array_filter( $array_with_values ); // remove empty entries
|
|
|
479 |
|
|
|
|
|
|
|
480 |
|
481 |
+
if ( ! in_array( $handle, $array_with_values ) ) {
|
482 |
+
return '<script src="' . $src . '" defer="defer" type="text/javascript"></script>' . "\n";
|
483 |
+
}
|
484 |
|
485 |
+
return $tag;
|
|
|
|
|
486 |
|
487 |
+
} // END function sbp_defer_parsing_of_js
|
488 |
|
|
|
|
|
|
|
489 |
|
490 |
+
/*--------------------------------------------------------------------------------------------------------
|
491 |
+
Remove query strings from static resources
|
492 |
+
---------------------------------------------------------------------------------------------------------*/
|
493 |
|
494 |
+
function sbp_remove_query_strings( $src ) { // remove "?ver" string
|
|
|
|
|
495 |
|
496 |
+
$output = preg_split( "/(\?rev|&ver|\?ver)/", $src );
|
|
|
|
|
497 |
|
498 |
+
return $output[0];
|
499 |
|
500 |
+
}
|
501 |
|
502 |
+
/*--------------------------------------------------------------------------------------------------------
|
503 |
+
Disable Emoji
|
504 |
+
---------------------------------------------------------------------------------------------------------*/
|
505 |
+
function sbp_disable_emojis() {
|
506 |
+
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
|
507 |
+
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
|
508 |
+
remove_action( 'wp_print_styles', 'print_emoji_styles' );
|
509 |
+
remove_action( 'admin_print_styles', 'print_emoji_styles' );
|
510 |
+
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
|
511 |
+
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
|
512 |
+
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
|
513 |
|
514 |
+
add_filter( 'tiny_mce_plugins', array( $this, 'sbp_disable_emojis_tinymce' ) );
|
515 |
+
add_filter( 'wp_resource_hints', array( $this, 'sbp_disable_emojis_dns_prefetch' ), 10, 2 );
|
516 |
+
}
|
517 |
|
518 |
+
function sbp_disable_emojis_tinymce( $plugins ) {
|
519 |
+
if ( is_array( $plugins ) ) {
|
520 |
+
return array_diff( $plugins, array( 'wpemoji' ) );
|
521 |
+
} else {
|
522 |
+
return array();
|
523 |
+
}
|
524 |
+
}
|
525 |
|
526 |
+
function sbp_disable_emojis_dns_prefetch( $urls, $relation_type ) {
|
527 |
+
if ( 'dns-prefetch' == $relation_type ) {
|
528 |
+
$emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2.2.1/svg/' );
|
529 |
+
$urls = array_diff( $urls, array( $emoji_svg_url ) );
|
530 |
+
}
|
531 |
|
532 |
+
return $urls;
|
533 |
+
}
|
|
|
|
|
534 |
|
535 |
+
/*--------------------------------------------------------------------------------------------------------
|
536 |
+
Disable XML-RPC
|
537 |
+
---------------------------------------------------------------------------------------------------------*/
|
538 |
|
539 |
+
function sbp_remove_x_pingback( $headers ) {
|
540 |
+
unset( $headers['X-Pingback'] );
|
|
|
541 |
|
542 |
+
return $headers;
|
543 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
544 |
|
545 |
+
/*--------------------------------------------------------------------------------------------------------
|
546 |
+
Dequeue extra Font Awesome stylesheet
|
547 |
+
---------------------------------------------------------------------------------------------------------*/
|
548 |
|
549 |
+
function sbp_no_more_fontawesome() {
|
550 |
+
global $wp_styles;
|
551 |
+
global $sbp_options;
|
552 |
|
553 |
+
// we'll use preg_match to find only the following patterns as exact matches, to prevent other plugin stylesheets that contain font-awesome expression to be also dequeued
|
554 |
+
$patterns = array(
|
555 |
+
'font-awesome.css',
|
556 |
+
'font-awesome.min.css',
|
557 |
+
);
|
558 |
+
// multiple patterns hook
|
559 |
+
$regex = '/(' . implode( '|', $patterns ) . ')/i';
|
560 |
+
foreach ( $wp_styles->registered as $registered ) {
|
561 |
+
if ( ! is_admin() and preg_match( $regex, $registered->src ) and isset( $sbp_options['font_awesome'] ) ) {
|
562 |
+
wp_dequeue_style( $registered->handle );
|
563 |
+
// FA was dequeued, so here we need to enqueue it again from CDN
|
564 |
+
wp_enqueue_style( 'font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' );
|
565 |
+
} // END if( preg_match...
|
566 |
+
} // END foreach
|
567 |
+
} // End function dfa_no_more_fontawesome
|
568 |
+
|
569 |
+
|
570 |
+
/*--------------------------------------------------------------------------------------------------------
|
571 |
+
Remove junk header tags
|
572 |
+
---------------------------------------------------------------------------------------------------------*/
|
573 |
+
|
574 |
+
public function sbp_junk_header_tags() {
|
575 |
|
576 |
+
global $sbp_options;
|
577 |
|
578 |
+
// Remove Adjacent Posts links PREV/NEXT
|
579 |
+
if ( isset( $sbp_options['remove_adjacent'] ) ) {
|
580 |
+
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
|
581 |
+
}
|
582 |
|
583 |
+
// Remove Windows Live Writer Manifest Link
|
584 |
+
if ( isset( $sbp_options['wml_link'] ) ) {
|
585 |
+
remove_action( 'wp_head', 'wlwmanifest_link' );
|
586 |
+
}
|
587 |
|
588 |
+
// Remove RSD (Really Simple Discovery) Link
|
589 |
+
if ( isset( $sbp_options['rsd_link'] ) ) {
|
590 |
+
remove_action( 'wp_head', 'rsd_link' );
|
591 |
+
}
|
592 |
|
593 |
+
// Remove WordPress Shortlinks from WP Head
|
594 |
+
if ( isset( $sbp_options['remove_wsl'] ) ) {
|
595 |
+
remove_action( 'wp_head', 'wp_shortlink_wp_head' );
|
596 |
+
}
|
597 |
|
598 |
+
// Remove WP Generator/Version - for security reasons and cleaning the header
|
599 |
+
if ( isset( $sbp_options['wp_generator'] ) ) {
|
600 |
+
remove_action( 'wp_head', 'wp_generator' );
|
601 |
+
}
|
|
|
602 |
|
603 |
+
// Remove all feeds
|
604 |
+
if ( isset( $sbp_options['remove_all_feeds'] ) ) {
|
605 |
+
remove_action( 'wp_head', 'feed_links_extra', 3 ); // remove the feed links from the extra feeds such as category feeds
|
606 |
+
remove_action( 'wp_head', 'feed_links', 2 ); // remove the feed links from the general feeds: Post and Comment Feed
|
607 |
+
}
|
608 |
|
609 |
+
} // END public function sbp_junk_header_tags
|
610 |
} // END class Speed_Booster_Pack_Core
|
|
|
611 |
} // END if(!class_exists('Speed_Booster_Pack_Core'))
|
inc/crazy-lazy.class.php
DELETED
@@ -1,172 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* CrazyLazy plugin class
|
4 |
-
*
|
5 |
-
* @package CrazyLazy
|
6 |
-
*/
|
7 |
-
|
8 |
-
/* Quit */
|
9 |
-
defined( 'ABSPATH' ) or exit;
|
10 |
-
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Class CrazyLazy
|
14 |
-
*/
|
15 |
-
final class CrazyLazy {
|
16 |
-
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Class instance
|
20 |
-
*
|
21 |
-
* @since 0.0.1
|
22 |
-
* @change 0.0.1
|
23 |
-
*/
|
24 |
-
public static function instance() {
|
25 |
-
new self();
|
26 |
-
}
|
27 |
-
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Class constructor
|
31 |
-
*
|
32 |
-
* @since 0.0.1
|
33 |
-
* @change 0.0.9
|
34 |
-
*/
|
35 |
-
public function __construct() {
|
36 |
-
/* Go home */
|
37 |
-
if ( is_feed() || ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_CRON' ) && DOING_CRON ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) ) {
|
38 |
-
return;
|
39 |
-
}
|
40 |
-
|
41 |
-
/* Hooks */
|
42 |
-
add_filter(
|
43 |
-
'the_content',
|
44 |
-
array(
|
45 |
-
__CLASS__,
|
46 |
-
'prepare_images',
|
47 |
-
),
|
48 |
-
12 /* Important for galleries */
|
49 |
-
);
|
50 |
-
add_filter(
|
51 |
-
'post_thumbnail_html',
|
52 |
-
array(
|
53 |
-
__CLASS__,
|
54 |
-
'prepare_images',
|
55 |
-
)
|
56 |
-
);
|
57 |
-
add_action(
|
58 |
-
'wp_enqueue_scripts',
|
59 |
-
array(
|
60 |
-
__CLASS__,
|
61 |
-
'print_scripts',
|
62 |
-
)
|
63 |
-
);
|
64 |
-
}
|
65 |
-
|
66 |
-
|
67 |
-
/**
|
68 |
-
* Prepare content images for Crazy Lazy usage
|
69 |
-
*
|
70 |
-
* @since 0.0.1
|
71 |
-
* @change 1.0.0
|
72 |
-
*
|
73 |
-
* @param string $content The original post content.
|
74 |
-
*
|
75 |
-
* @return string The modified post content.
|
76 |
-
*/
|
77 |
-
public static function prepare_images( $content ) {
|
78 |
-
/* No lazy images? */
|
79 |
-
if ( strpos( $content, '-image' ) === false ) {
|
80 |
-
return $content;
|
81 |
-
}
|
82 |
-
|
83 |
-
/* Replace images */
|
84 |
-
return preg_replace_callback(
|
85 |
-
'/(?P<all> (?# match the whole img tag )
|
86 |
-
<img(?P<before>[^>]*) (?# the opening of the img and some optional attributes )
|
87 |
-
( (?# match a class attribute followed by some optional ones and the src attribute )
|
88 |
-
class=["\'](?P<class1>.*?(?:wp-image-|wp-post-image)[^>"\']*)["\']
|
89 |
-
(?P<between1>[^>]*)
|
90 |
-
src=["\'](?P<src1>[^>"\']*)["\']
|
91 |
-
| (?# match same as before, but with the src attribute before the class attribute )
|
92 |
-
src=["\'](?P<src2>[^>"\']*)["\']
|
93 |
-
(?P<between2>[^>]*)
|
94 |
-
class=["\'](?P<class2>.*?(?:wp-image-|wp-post-image)[^>"\']*)["\']
|
95 |
-
)
|
96 |
-
(?P<after>[^>]*) (?# match any additional optional attributes )
|
97 |
-
(?P<closing>\/?)> (?# match the closing of the img tag with or without a self closing slash )
|
98 |
-
)/x',
|
99 |
-
array( 'CrazyLazy', 'replace_images' ),
|
100 |
-
$content
|
101 |
-
);
|
102 |
-
}
|
103 |
-
|
104 |
-
/**
|
105 |
-
* The callback function for the preg_match_callback to modify the img tags.
|
106 |
-
*
|
107 |
-
* @since 1.0.0
|
108 |
-
*
|
109 |
-
* @param array $matches The regex matches.
|
110 |
-
*
|
111 |
-
* @return string The modified content string.
|
112 |
-
*/
|
113 |
-
public static function replace_images( $matches ) {
|
114 |
-
/* Empty gif */
|
115 |
-
$null = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
|
116 |
-
// Return unmodified image if the "data skip" attribute was found or the image has already been processed.
|
117 |
-
if ( false !== strpos( $matches['all'], 'data-crazy-lazy="exclude"' ) || false !== strpos( $matches['class1'] . $matches['class2'], 'crazy_lazy' ) ) {
|
118 |
-
return $matches['all'];
|
119 |
-
} else {
|
120 |
-
return '<img ' . $matches['before']
|
121 |
-
. ' style="display:none" '
|
122 |
-
. ' class="crazy_lazy ' . $matches['class1'] . $matches['class2'] . '" src="' . $null . '" '
|
123 |
-
. $matches['between1'] . $matches['between2']
|
124 |
-
. ' data-src="' . $matches['src1'] . $matches['src2'] . '" '
|
125 |
-
. $matches['after']
|
126 |
-
. $matches['closing'] . '><noscript>' . $matches['all'] . '</noscript>';
|
127 |
-
}
|
128 |
-
}
|
129 |
-
|
130 |
-
|
131 |
-
/**
|
132 |
-
* Print lazy load scripts in footer
|
133 |
-
*
|
134 |
-
* @since 0.0.1
|
135 |
-
* @change 0.0.6
|
136 |
-
*/
|
137 |
-
public static function print_scripts() {
|
138 |
-
/* Globals */
|
139 |
-
global $wp_scripts;
|
140 |
-
|
141 |
-
/* Check for jQuery */
|
142 |
-
if ( ! empty( $wp_scripts ) && (bool) $wp_scripts->query( 'jquery' ) ) { /* hot fix for buggy wp_script_is() */
|
143 |
-
self::_print_jquery_lazyload();
|
144 |
-
} else {
|
145 |
-
self::_print_javascript_lazyload();
|
146 |
-
}
|
147 |
-
}
|
148 |
-
|
149 |
-
|
150 |
-
/**
|
151 |
-
* Call unveil lazy load jQuery plugin
|
152 |
-
*
|
153 |
-
* @since 0.0.5
|
154 |
-
* @change 0.0.9
|
155 |
-
*/
|
156 |
-
private static function _print_jquery_lazyload() {
|
157 |
-
// wp_enqueue_script( 'unveil.js', plugins_url( '/js/jquery.unveil.min.js', CRAZY_LAZY_BASE ), array( 'jquery' ), '', true );
|
158 |
-
wp_enqueue_script( 'unveil.js', plugin_dir_url( __FILE__ ) . 'js/jquery.unveil.min.js', array( 'jquery' ), SPEED_BOOSTER_PACK_VERSION, true );
|
159 |
-
}
|
160 |
-
|
161 |
-
|
162 |
-
/**
|
163 |
-
* Call pure javascript lazyload.js
|
164 |
-
*
|
165 |
-
* @since 0.0.5
|
166 |
-
* @change 0.0.9
|
167 |
-
*/
|
168 |
-
private static function _print_javascript_lazyload() {
|
169 |
-
// wp_enqueue_script( 'lazyload.js', plugins_url( '/js/lazyload.min.js', CRAZY_LAZY_BASE ), array(), '', true );
|
170 |
-
wp_enqueue_script( 'lazyload.js', plugin_dir_url( __FILE__ ) . 'js/lazyload.min.js', array( 'jquery' ), SPEED_BOOSTER_PACK_VERSION, true );
|
171 |
-
}
|
172 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/crazy-lazy.php
DELETED
@@ -1,37 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
Copyright (C) 2013-2015 Sergej Müller & https://github.com/pluginkollektiv/crazy-lazy
|
5 |
-
|
6 |
-
This program is free software; you can redistribute it and/or modify
|
7 |
-
it under the terms of the GNU General Public License as published by
|
8 |
-
the Free Software Foundation; either version 2 of the License, or
|
9 |
-
(at your option) any later version.
|
10 |
-
|
11 |
-
This program is distributed in the hope that it will be useful,
|
12 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14 |
-
GNU General Public License for more details.
|
15 |
-
|
16 |
-
You should have received a copy of the GNU General Public License along
|
17 |
-
with this program; if not, write to the Free Software Foundation, Inc.,
|
18 |
-
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
19 |
-
*/
|
20 |
-
|
21 |
-
|
22 |
-
/* Quit */
|
23 |
-
defined( 'ABSPATH' ) || exit;
|
24 |
-
|
25 |
-
|
26 |
-
/* FE only */
|
27 |
-
if ( is_admin() ) {
|
28 |
-
return;
|
29 |
-
}
|
30 |
-
|
31 |
-
|
32 |
-
/* Fire! */
|
33 |
-
define( 'CRAZY_LAZY_BASE', plugin_basename( __FILE__ ) );
|
34 |
-
|
35 |
-
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/crazy-lazy.class.php' );
|
36 |
-
|
37 |
-
add_action( 'wp', array( 'CrazyLazy', 'instance' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/css-optimizer.php
CHANGED
@@ -15,15 +15,16 @@ function sbp_generate_styles_list() {
|
|
15 |
// load excluded stylesheet in render-blocking manner
|
16 |
} else {
|
17 |
$list[] = array(
|
18 |
-
'src'
|
19 |
-
'media'
|
20 |
-
|
21 |
}
|
22 |
}
|
23 |
}
|
|
|
24 |
return $list;
|
25 |
|
26 |
-
}
|
27 |
|
28 |
|
29 |
/*--------------------------------------------------------------------------------------------------------
|
@@ -36,8 +37,8 @@ function sbp_unregister_styles() {
|
|
36 |
|
37 |
if ( isset( $wp_styles->queue ) && is_array( $wp_styles->queue ) ) {
|
38 |
|
39 |
-
foreach ( $wp_styles->queue as $style ){
|
40 |
-
if ( is_css_excluded( $style )) {
|
41 |
continue;
|
42 |
}
|
43 |
|
@@ -46,7 +47,7 @@ function sbp_unregister_styles() {
|
|
46 |
}
|
47 |
}
|
48 |
|
49 |
-
}
|
50 |
|
51 |
|
52 |
/*--------------------------------------------------------------------------------------------------------
|
@@ -55,30 +56,31 @@ function sbp_unregister_styles() {
|
|
55 |
|
56 |
function sbp_inline_css( $url, $minify = true ) {
|
57 |
|
58 |
-
$base_url
|
59 |
-
$path
|
60 |
|
61 |
-
if ( strpos( $url, $base_url ) !==
|
62 |
|
63 |
-
$path = str_replace( $base_url,rtrim(ABSPATH,'/')
|
64 |
|
65 |
-
} elseif ( $url[0]=='/' && $url[1]!='/' ) {
|
66 |
|
67 |
-
$path
|
68 |
-
$url
|
69 |
}
|
70 |
|
71 |
-
if ( $path && file_exists( $path ) ){
|
72 |
|
73 |
$css = file_get_contents( $path );
|
74 |
|
75 |
-
if ( $minify ){
|
76 |
$css = sbp_minify_css( $css );
|
77 |
}
|
78 |
|
79 |
$css = sbp_rebuilding_css_urls( $css, $url );
|
80 |
|
81 |
echo $css;
|
|
|
82 |
return true;
|
83 |
|
84 |
} else {
|
@@ -86,16 +88,22 @@ function sbp_inline_css( $url, $minify = true ) {
|
|
86 |
return false;
|
87 |
}
|
88 |
|
89 |
-
}
|
90 |
|
91 |
|
92 |
/*--------------------------------------------------------------------------------------------------------
|
93 |
CSS OPTIMIZER - Rebuilding CSS URLs
|
94 |
---------------------------------------------------------------------------------------------------------*/
|
95 |
|
96 |
-
function sbp_rebuilding_css_urls($css
|
97 |
-
$css_dir
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
return $css;
|
101 |
}
|
@@ -109,18 +117,18 @@ function sbp_rebuilding_css_urls($css,$url){
|
|
109 |
function sbp_minify_css( $css ) {
|
110 |
|
111 |
$css = sbp_remove_multiline_comments( $css );
|
112 |
-
$css = str_replace(array("\t","\n","\r"),' '
|
113 |
$cnt = 1;
|
114 |
|
115 |
-
while ($cnt>0) {
|
116 |
-
$css = str_replace(' ',' '
|
117 |
}
|
118 |
|
119 |
-
$css = str_replace(array(' {','{ '),'{'
|
120 |
-
$css = str_replace(array(' }','} ',';}'),'}'
|
121 |
-
$css = str_replace(': ',':'
|
122 |
-
$css = str_replace('; ',';'
|
123 |
-
$css = str_replace(', ',','
|
124 |
|
125 |
return $css;
|
126 |
}
|
@@ -130,33 +138,35 @@ function sbp_minify_css( $css ) {
|
|
130 |
CSS OPTIMIZER - Remove multi-line comments from CSS
|
131 |
---------------------------------------------------------------------------------------------------------*/
|
132 |
|
133 |
-
function sbp_remove_multiline_comments( $code
|
134 |
|
135 |
switch ( $method ) {
|
136 |
-
case 1:
|
|
|
137 |
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
|
142 |
case 0:
|
143 |
|
144 |
-
default :
|
|
|
145 |
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
|
|
|
|
|
|
153 |
}
|
154 |
|
155 |
-
|
156 |
}
|
157 |
-
|
158 |
-
break;
|
159 |
-
}
|
160 |
}
|
161 |
|
162 |
return $code;
|
@@ -169,15 +179,29 @@ function sbp_remove_multiline_comments( $code,$method=0 ) {
|
|
169 |
|
170 |
function sbp_style_exceptions() {
|
171 |
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
$css_exceptions = array();
|
174 |
-
foreach ($array as $key
|
175 |
-
if (trim($ex)!=''){
|
176 |
-
$css_exceptions[$key] = trim($ex);
|
|
|
177 |
}
|
178 |
}
|
179 |
|
180 |
-
|
|
|
|
|
|
|
181 |
}
|
182 |
|
183 |
|
@@ -189,13 +213,13 @@ function is_css_excluded( $file ) {
|
|
189 |
global $wp_styles;
|
190 |
$css_exceptions = sbp_style_exceptions();
|
191 |
|
192 |
-
if( is_string( $file ) && isset( $wp_styles->registered[$file] ) ) {
|
193 |
$filename = $file;
|
194 |
-
$file
|
195 |
}
|
196 |
|
197 |
-
foreach ( $css_exceptions as $ex ){
|
198 |
-
if ( $file->handle
|
199 |
return true;
|
200 |
}
|
201 |
}
|
15 |
// load excluded stylesheet in render-blocking manner
|
16 |
} else {
|
17 |
$list[] = array(
|
18 |
+
'src' => $wp_styles->registered[ $style ]->src,
|
19 |
+
'media' => $wp_styles->registered[ $style ]->args,
|
20 |
+
);
|
21 |
}
|
22 |
}
|
23 |
}
|
24 |
+
|
25 |
return $list;
|
26 |
|
27 |
+
} // END function sbp_generate_styles_list
|
28 |
|
29 |
|
30 |
/*--------------------------------------------------------------------------------------------------------
|
37 |
|
38 |
if ( isset( $wp_styles->queue ) && is_array( $wp_styles->queue ) ) {
|
39 |
|
40 |
+
foreach ( $wp_styles->queue as $style ) {
|
41 |
+
if ( is_css_excluded( $style ) ) {
|
42 |
continue;
|
43 |
}
|
44 |
|
47 |
}
|
48 |
}
|
49 |
|
50 |
+
} // END function sbp_unregister_styles
|
51 |
|
52 |
|
53 |
/*--------------------------------------------------------------------------------------------------------
|
56 |
|
57 |
function sbp_inline_css( $url, $minify = true ) {
|
58 |
|
59 |
+
$base_url = get_bloginfo( 'wpurl' );
|
60 |
+
$path = false;
|
61 |
|
62 |
+
if ( strpos( $url, $base_url ) !== false ) {
|
63 |
|
64 |
+
$path = str_replace( $base_url, rtrim( ABSPATH, '/' ), $url );
|
65 |
|
66 |
+
} elseif ( $url[0] == '/' && $url[1] != '/' ) {
|
67 |
|
68 |
+
$path = rtrim( ABSPATH, '/' ) . $url;
|
69 |
+
$url = $base_url . $url;
|
70 |
}
|
71 |
|
72 |
+
if ( $path && file_exists( $path ) ) {
|
73 |
|
74 |
$css = file_get_contents( $path );
|
75 |
|
76 |
+
if ( $minify ) {
|
77 |
$css = sbp_minify_css( $css );
|
78 |
}
|
79 |
|
80 |
$css = sbp_rebuilding_css_urls( $css, $url );
|
81 |
|
82 |
echo $css;
|
83 |
+
|
84 |
return true;
|
85 |
|
86 |
} else {
|
88 |
return false;
|
89 |
}
|
90 |
|
91 |
+
} // END function sbp_inline_css
|
92 |
|
93 |
|
94 |
/*--------------------------------------------------------------------------------------------------------
|
95 |
CSS OPTIMIZER - Rebuilding CSS URLs
|
96 |
---------------------------------------------------------------------------------------------------------*/
|
97 |
|
98 |
+
function sbp_rebuilding_css_urls( $css, $url ) {
|
99 |
+
$css_dir = substr( $url, 0, strrpos( $url, '/' ) );
|
100 |
+
|
101 |
+
// old regex expresison
|
102 |
+
//$css = preg_replace( "/url\((?!data:)['\"]?([^\/][^'\"\)]*)['\"]?\)/i", "url({$css_dir}/$1)", $css );
|
103 |
+
|
104 |
+
// new regex expression
|
105 |
+
$css = preg_replace( "/url(?!\(['\"]?(data:|http:))\(['\"]?([^\/][^'\"\)]*)['\"]?\)/i", "url({$css_dir}/$2)", $css );
|
106 |
+
|
107 |
|
108 |
return $css;
|
109 |
}
|
117 |
function sbp_minify_css( $css ) {
|
118 |
|
119 |
$css = sbp_remove_multiline_comments( $css );
|
120 |
+
$css = str_replace( array( "\t", "\n", "\r" ), ' ', $css );
|
121 |
$cnt = 1;
|
122 |
|
123 |
+
while ( $cnt > 0 ) {
|
124 |
+
$css = str_replace( ' ', ' ', $css, $cnt );
|
125 |
}
|
126 |
|
127 |
+
$css = str_replace( array( ' {', '{ ' ), '{', $css );
|
128 |
+
$css = str_replace( array( ' }', '} ', ';}' ), '}', $css );
|
129 |
+
$css = str_replace( ': ', ':', $css );
|
130 |
+
$css = str_replace( '; ', ';', $css );
|
131 |
+
$css = str_replace( ', ', ',', $css );
|
132 |
|
133 |
return $css;
|
134 |
}
|
138 |
CSS OPTIMIZER - Remove multi-line comments from CSS
|
139 |
---------------------------------------------------------------------------------------------------------*/
|
140 |
|
141 |
+
function sbp_remove_multiline_comments( $code, $method = 0 ) {
|
142 |
|
143 |
switch ( $method ) {
|
144 |
+
case 1:
|
145 |
+
{
|
146 |
|
147 |
+
$code = preg_replace( '/\s*(?!<\")\/\*[^\*]+\*\/(?!\")\s*/', '', $code );
|
148 |
+
break;
|
149 |
+
}
|
150 |
|
151 |
case 0:
|
152 |
|
153 |
+
default :
|
154 |
+
{
|
155 |
|
156 |
+
$open_pos = strpos( $code, '/*' );
|
157 |
+
while ( $open_pos !== false ) {
|
158 |
+
$close_pos = strpos( $code, '*/', $open_pos ) + 2;
|
159 |
+
if ( $close_pos ) {
|
160 |
+
$code = substr( $code, 0, $open_pos ) . substr( $code, $close_pos );
|
161 |
+
} else {
|
162 |
+
$code = substr( $code, 0, $open_pos );
|
163 |
+
}
|
164 |
+
|
165 |
+
$open_pos = strpos( $code, '/*', $open_pos );
|
166 |
}
|
167 |
|
168 |
+
break;
|
169 |
}
|
|
|
|
|
|
|
170 |
}
|
171 |
|
172 |
return $code;
|
179 |
|
180 |
function sbp_style_exceptions() {
|
181 |
|
182 |
+
/**
|
183 |
+
* Never include these CSS handles/files
|
184 |
+
*
|
185 |
+
* @since 3.7
|
186 |
+
*/
|
187 |
+
$default = array(
|
188 |
+
'admin-bar',
|
189 |
+
'dashicons',
|
190 |
+
);
|
191 |
+
|
192 |
+
$array = explode( "\n", get_option( 'sbp_css_exceptions' ) );
|
193 |
$css_exceptions = array();
|
194 |
+
foreach ( $array as $key => $ex ) {
|
195 |
+
if ( trim( $ex ) != '' ) {
|
196 |
+
$css_exceptions[ $key ] = trim( $ex );
|
197 |
+
|
198 |
}
|
199 |
}
|
200 |
|
201 |
+
// merge defaults with our actual exceptions
|
202 |
+
$css_exceptions = array_merge( $css_exceptions, $default );
|
203 |
+
|
204 |
+
return (array) $css_exceptions;
|
205 |
}
|
206 |
|
207 |
|
213 |
global $wp_styles;
|
214 |
$css_exceptions = sbp_style_exceptions();
|
215 |
|
216 |
+
if ( is_string( $file ) && isset( $wp_styles->registered[ $file ] ) ) {
|
217 |
$filename = $file;
|
218 |
+
$file = $wp_styles->registered[ $file ];
|
219 |
}
|
220 |
|
221 |
+
foreach ( $css_exceptions as $ex ) {
|
222 |
+
if ( $file->handle == $ex || ( strpos( $ex, '.' ) !== false && strpos( $file->src, $ex ) !== false ) ) {
|
223 |
return true;
|
224 |
}
|
225 |
}
|
inc/images/icon-128x128.jpg
ADDED
Binary file
|
inc/images/icon-16x16.png
ADDED
Binary file
|
inc/js/admin-scripts.js
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* The contents of this script only gets loaded on the plugin page
|
3 |
+
*/
|
4 |
+
(function( $ ) {
|
5 |
+
|
6 |
+
'use strict';
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Function used to handle admin UI postboxes
|
10 |
+
*/
|
11 |
+
function admin_postboxes() {
|
12 |
+
|
13 |
+
postboxes.add_postbox_toggles( pagenow );
|
14 |
+
|
15 |
+
// set cursor to pointer
|
16 |
+
$( '.postbox .hndle' ).css( 'cursor', 'pointer' );
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Function used for the image compression slider under "Image Optimization"
|
21 |
+
*/
|
22 |
+
function admin_jquery_sliders() {
|
23 |
+
|
24 |
+
var slider_selector = ".sbp-slider";
|
25 |
+
var slider_amount = ".sbp-amount";
|
26 |
+
var slider_integer = "#sbp_integer";
|
27 |
+
|
28 |
+
if ( $( slider_selector ).length > 0 ) {
|
29 |
+
|
30 |
+
$( slider_selector ).slider( {
|
31 |
+
value: jpegCompression,
|
32 |
+
min: 0,
|
33 |
+
max: 100,
|
34 |
+
step: 1,
|
35 |
+
slide: function( event, ui ) {
|
36 |
+
jQuery( slider_amount ).val( ui.value );
|
37 |
+
jQuery( slider_integer ).val( ui.value );
|
38 |
+
}
|
39 |
+
} );
|
40 |
+
|
41 |
+
$( slider_amount ).val( $( slider_selector ).slider( "value" ) );
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Handle UI tab switching via jQuery instead of relying on CSS only
|
47 |
+
*/
|
48 |
+
function admin_tab_switching() {
|
49 |
+
|
50 |
+
var nav_tab_selector = '.nav-tab-wrapper a';
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Default tab handling
|
54 |
+
*/
|
55 |
+
|
56 |
+
// make the first tab active by default
|
57 |
+
$( nav_tab_selector + ':first' ).addClass( 'nav-tab-active' );
|
58 |
+
|
59 |
+
// get the first tab href
|
60 |
+
var initial_tab_href = $( nav_tab_selector + ':first' ).attr( 'href' );
|
61 |
+
|
62 |
+
// make all the tabs, except the first one hidden
|
63 |
+
$( '.sb-pack-tab' ).each( function( index, value ) {
|
64 |
+
if ( '#' + $( this ).attr( 'id' ) !== initial_tab_href ) {
|
65 |
+
$( this ).hide();
|
66 |
+
}
|
67 |
+
} );
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Listen for click events on nav-tab links
|
71 |
+
*/
|
72 |
+
$( nav_tab_selector ).click( function( event ) {
|
73 |
+
|
74 |
+
$( nav_tab_selector ).removeClass( 'nav-tab-active' ); // remove class from previous selector
|
75 |
+
$( this ).addClass( 'nav-tab-active' ).blur(); // add class to currently clicked selector
|
76 |
+
|
77 |
+
var clicked_tab = $( this ).attr( 'href' );
|
78 |
+
|
79 |
+
$( '.sb-pack-tab' ).each( function( index, value ) {
|
80 |
+
if ( '#' + $( this ).attr( 'id' ) !== clicked_tab ) {
|
81 |
+
$( this ).hide();
|
82 |
+
}
|
83 |
+
|
84 |
+
$( clicked_tab ).fadeIn();
|
85 |
+
|
86 |
+
} );
|
87 |
+
|
88 |
+
// prevent default behavior
|
89 |
+
event.preventDefault();
|
90 |
+
|
91 |
+
} );
|
92 |
+
}
|
93 |
+
|
94 |
+
$( document ).ready( function() {
|
95 |
+
admin_postboxes();
|
96 |
+
admin_jquery_sliders();
|
97 |
+
admin_tab_switching();
|
98 |
+
} );
|
99 |
+
|
100 |
+
})( jQuery );
|
inc/js/jquery.unveil.js
DELETED
@@ -1,72 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* jQuery Unveil
|
3 |
-
* A very lightweight jQuery plugin to lazy load images
|
4 |
-
* http://luis-almeida.github.com/unveil
|
5 |
-
*
|
6 |
-
* Modified by Sergej Müller
|
7 |
-
* http://wpcoder.de
|
8 |
-
*
|
9 |
-
* Licensed under the MIT license.
|
10 |
-
*/
|
11 |
-
|
12 |
-
;(function($) {
|
13 |
-
$.fn.unveil = function() {
|
14 |
-
|
15 |
-
var $w = $(window),
|
16 |
-
images = this,
|
17 |
-
loaded,
|
18 |
-
inview,
|
19 |
-
source;
|
20 |
-
|
21 |
-
this.one(
|
22 |
-
'unveil',
|
23 |
-
function() {
|
24 |
-
var $$ = $(this),
|
25 |
-
source = $$.data('src') || $$.attr('data-src');
|
26 |
-
|
27 |
-
if ( source) {
|
28 |
-
$$
|
29 |
-
.css('opacity', 0)
|
30 |
-
.attr('src', source)
|
31 |
-
.animate(
|
32 |
-
{
|
33 |
-
'opacity': 1
|
34 |
-
},
|
35 |
-
200
|
36 |
-
);
|
37 |
-
}
|
38 |
-
}
|
39 |
-
);
|
40 |
-
|
41 |
-
function unveil() {
|
42 |
-
inview = images.filter(
|
43 |
-
function() {
|
44 |
-
var $e = $(this),
|
45 |
-
wt = $w.scrollTop(),
|
46 |
-
wb = wt + $w.height(),
|
47 |
-
et = $e.offset().top,
|
48 |
-
eb = et + $e.height();
|
49 |
-
|
50 |
-
return eb >= wt && et <= wb;
|
51 |
-
}
|
52 |
-
);
|
53 |
-
|
54 |
-
loaded = inview.trigger('unveil');
|
55 |
-
images = images.not(loaded);
|
56 |
-
}
|
57 |
-
|
58 |
-
$w.scroll(unveil);
|
59 |
-
$w.resize(unveil);
|
60 |
-
|
61 |
-
unveil();
|
62 |
-
|
63 |
-
return this;
|
64 |
-
};
|
65 |
-
})(window.jQuery);
|
66 |
-
|
67 |
-
|
68 |
-
jQuery(document).ready(
|
69 |
-
function(){
|
70 |
-
jQuery("img.crazy_lazy").css('display', '').unveil();
|
71 |
-
}
|
72 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/jquery.unveil.min.js
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* jQuery Unveil
|
3 |
-
* A very lightweight jQuery plugin to lazy load images
|
4 |
-
* http://luis-almeida.github.com/unveil
|
5 |
-
*
|
6 |
-
* Modified by Sergej Müller
|
7 |
-
* http://wpcoder.de
|
8 |
-
*
|
9 |
-
* Licensed under the MIT license.
|
10 |
-
*/
|
11 |
-
|
12 |
-
(function(c){c.fn.unveil=function(){function b(){e=a.filter(function(){var f=c(this),g=d.scrollTop(),b=g+d.height(),a=f.offset().top;return a+f.height()>=g&&a<=b});h=e.trigger("unveil");a=a.not(h)}var d=c(window),a=this,h,e;this.one("unveil",function(){var a=c(this),b=a.data("src")||a.attr("data-src");b&&a.css("opacity",0).attr("src",b).animate({opacity:1},200)});d.scroll(b);d.resize(b);b();return this}})(window.jQuery);jQuery(document).ready(function(){jQuery("img.crazy_lazy").css("display","").unveil()});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/lazyload.js
DELETED
@@ -1,91 +0,0 @@
|
|
1 |
-
/* lazyload.js (c) Lorenzo Giuliani
|
2 |
-
* MIT License (http://www.opensource.org/licenses/mit-license.html)
|
3 |
-
*
|
4 |
-
* Modified by Sergej Müller | http://wpcoder.de
|
5 |
-
*/
|
6 |
-
|
7 |
-
|
8 |
-
window.onload = function() {
|
9 |
-
var $q = function(q, res){
|
10 |
-
if (document.querySelectorAll) {
|
11 |
-
res = document.querySelectorAll(q);
|
12 |
-
} else {
|
13 |
-
var d=document,
|
14 |
-
a=d.styleSheets[0] || d.createStyleSheet();
|
15 |
-
|
16 |
-
a.addRule(q,'f:b');
|
17 |
-
for(var l=d.all,b=0,c=[],f=l.length;b<f;b++)
|
18 |
-
l[b].currentStyle.f && c.push(l[b]);
|
19 |
-
|
20 |
-
a.removeRule(0);
|
21 |
-
res = c;
|
22 |
-
}
|
23 |
-
|
24 |
-
return res;
|
25 |
-
},
|
26 |
-
|
27 |
-
addEventListener = function(evt, fn) {
|
28 |
-
window.addEventListener
|
29 |
-
? this.addEventListener(evt, fn, false)
|
30 |
-
: (window.attachEvent)
|
31 |
-
? this.attachEvent('on' + evt, fn)
|
32 |
-
: this['on' + evt] = fn;
|
33 |
-
},
|
34 |
-
|
35 |
-
_has = function(obj, key) {
|
36 |
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
37 |
-
};
|
38 |
-
|
39 |
-
function loadImage (el, fn) {
|
40 |
-
var img = new Image(),
|
41 |
-
src = el.getAttribute('data-src');
|
42 |
-
|
43 |
-
img.onload = function() {
|
44 |
-
if ( !! el.parent )
|
45 |
-
el.parent.replaceChild(img, el)
|
46 |
-
else
|
47 |
-
el.src = src;
|
48 |
-
|
49 |
-
if ( fn ) fn();
|
50 |
-
}
|
51 |
-
|
52 |
-
img.src = src;
|
53 |
-
}
|
54 |
-
|
55 |
-
function elementInViewport(el) {
|
56 |
-
var rect = el.getBoundingClientRect();
|
57 |
-
|
58 |
-
return (
|
59 |
-
rect.top >= 0
|
60 |
-
&& rect.left >= 0
|
61 |
-
&& rect.top <= (window.innerHeight || document.documentElement.clientHeight)
|
62 |
-
);
|
63 |
-
}
|
64 |
-
|
65 |
-
var images = new Array(),
|
66 |
-
query = $q('img.crazy_lazy'),
|
67 |
-
processScroll = function() {
|
68 |
-
for (var i = 0; i < images.length; i++) {
|
69 |
-
if (elementInViewport(images[i])) {
|
70 |
-
loadImage(
|
71 |
-
images[i],
|
72 |
-
function () {
|
73 |
-
images.splice(i, i);
|
74 |
-
}
|
75 |
-
);
|
76 |
-
}
|
77 |
-
}
|
78 |
-
};
|
79 |
-
|
80 |
-
for (var i = 0; i < query.length; i++) {
|
81 |
-
query[i].removeAttribute('style');
|
82 |
-
images.push(query[i]);
|
83 |
-
};
|
84 |
-
|
85 |
-
processScroll();
|
86 |
-
|
87 |
-
addEventListener(
|
88 |
-
'scroll',
|
89 |
-
processScroll
|
90 |
-
);
|
91 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/lazyload.min.js
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
/* lazyload.js (c) Lorenzo Giuliani
|
2 |
-
* MIT License (http://www.opensource.org/licenses/mit-license.html)
|
3 |
-
*
|
4 |
-
* Modified by Sergej Müller | http://wpcoder.de
|
5 |
-
*/
|
6 |
-
|
7 |
-
window.onload=function(){function h(a,e){var c=new Image,b=a.getAttribute("data-src");c.onload=function(){a.parent?a.parent.replaceChild(c,a):a.src=b;e&&e()};c.src=b}function k(a){a=a.getBoundingClientRect();return 0<=a.top&&0<=a.left&&a.top<=(window.innerHeight||document.documentElement.clientHeight)}for(var b=[],f=function(a,e){if(document.querySelectorAll)e=document.querySelectorAll(a);else{var c=document,b=c.styleSheets[0]||c.createStyleSheet();b.addRule(a,"f:b");for(var c=c.all,d=0,f=[],g=c.length;d<
|
8 |
-
g;d++)c[d].currentStyle.f&&f.push(c[d]);b.removeRule(0);e=f}return e}("img.crazy_lazy"),g=function(){for(var a=0;a<b.length;a++)k(b[a])&&h(b[a],function(){b.splice(a,a)})},d=0;d<f.length;d++)f[d].removeAttribute("style"),b.push(f[d]);g();(function(a,b){window.addEventListener?this.addEventListener(a,b,!1):window.attachEvent?this.attachEvent("on"+a,b):this["on"+a]=b})("scroll",g)};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/plugin-install.js
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function( wp, $ ) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
if ( ! wp ) {
|
5 |
+
return;
|
6 |
+
}
|
7 |
+
|
8 |
+
function activatePlugin( url, el ) {
|
9 |
+
var message = el.data( 'message' );
|
10 |
+
|
11 |
+
$.ajax( {
|
12 |
+
async: true,
|
13 |
+
type: 'GET',
|
14 |
+
dataType: 'html',
|
15 |
+
url: url,
|
16 |
+
success: function() {
|
17 |
+
el.removeClass( 'sbp-updating' );
|
18 |
+
el.text( message );
|
19 |
+
}
|
20 |
+
} );
|
21 |
+
}
|
22 |
+
|
23 |
+
$( function() {
|
24 |
+
$( document ).on( 'click', '.sbp-plugin-button', function( event ) {
|
25 |
+
var action = $( this ).data( 'action' ),
|
26 |
+
url = $( this ).attr( 'href' ),
|
27 |
+
slug = $( this ).data( 'slug' );
|
28 |
+
|
29 |
+
event.preventDefault();
|
30 |
+
|
31 |
+
if ( 'install' === action ) {
|
32 |
+
|
33 |
+
$( this ).addClass( 'sbp-updating disbpled' );
|
34 |
+
|
35 |
+
wp.updates.installPlugin( {
|
36 |
+
slug: slug
|
37 |
+
} );
|
38 |
+
|
39 |
+
} else if ( 'activate' === action ) {
|
40 |
+
|
41 |
+
$( this ).addClass( 'sbp-updating disbpled' );
|
42 |
+
activatePlugin( url, $( this ) );
|
43 |
+
|
44 |
+
}
|
45 |
+
|
46 |
+
} );
|
47 |
+
|
48 |
+
$( document ).on( 'wp-plugin-install-success', function( response, data ) {
|
49 |
+
var el = $( '.sbp-plugin-button[data-slug="' + data.slug + '"]' );
|
50 |
+
event.preventDefault();
|
51 |
+
activatePlugin( data.activateUrl, el );
|
52 |
+
} );
|
53 |
+
|
54 |
+
} );
|
55 |
+
})( window.wp, jQuery );
|
inc/js/post-tabs-edit.js
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
jQuery(document).on('ready', function($){
|
2 |
-
postboxes.save_state = function(){
|
3 |
-
return;
|
4 |
-
};
|
5 |
-
postboxes.save_order = function(){
|
6 |
-
return;
|
7 |
-
};
|
8 |
-
postboxes.add_postbox_toggles();
|
9 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/sbp-hide.js
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
if (typeof (jQuery) != 'undefined') {
|
2 |
-
jQuery(document).ready(function () {
|
3 |
-
validate();
|
4 |
-
jQuery('input').change(function () {
|
5 |
-
validate();
|
6 |
-
})
|
7 |
-
});
|
8 |
-
|
9 |
-
function validate() {
|
10 |
-
if (jQuery('input[id=sbp_css_async]').is(':checked')) {
|
11 |
-
jQuery('#sbp-css-content').show();
|
12 |
-
} else {
|
13 |
-
jQuery('#sbp-css-content').hide();
|
14 |
-
}
|
15 |
-
}
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/sbp-slide.js
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function () {
|
2 |
-
jQuery(".sbp-slider").slider({
|
3 |
-
value: jpegCompression,
|
4 |
-
min: 0,
|
5 |
-
max: 100,
|
6 |
-
step: 1,
|
7 |
-
slide: function (event, ui) {
|
8 |
-
jQuery(".sbp-amount").val(ui.value);
|
9 |
-
jQuery("#sbp_integer").val(ui.value);
|
10 |
-
}
|
11 |
-
});
|
12 |
-
jQuery(".sbp-amount").val(jQuery(".sbp-slider").slider("value"));
|
13 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/sbp-minifier.php
CHANGED
@@ -4,10 +4,11 @@
|
|
4 |
MINIFIER - increase your page load speed by minifying JavaScript and HTML
|
5 |
---------------------------------------------------------------------------------------------------------*/
|
6 |
|
|
|
7 |
class SBP_HTML_Minifier {
|
8 |
// Minify settings
|
9 |
protected $minify_css = true;
|
10 |
-
protected $minify_js =
|
11 |
protected $info_comment = true;
|
12 |
protected $remove_comments = true;
|
13 |
|
4 |
MINIFIER - increase your page load speed by minifying JavaScript and HTML
|
5 |
---------------------------------------------------------------------------------------------------------*/
|
6 |
|
7 |
+
|
8 |
class SBP_HTML_Minifier {
|
9 |
// Minify settings
|
10 |
protected $minify_css = true;
|
11 |
+
protected $minify_js = false;
|
12 |
protected $info_comment = true;
|
13 |
protected $remove_comments = true;
|
14 |
|
inc/settings.php
CHANGED
@@ -1,324 +1,290 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
if( !class_exists( 'Speed_Booster_Pack_Options' ) ) {
|
4 |
|
5 |
-
|
6 |
|
7 |
-
|
8 |
-
/*--------------------------------------------------------------------------------------------------------
|
9 |
-
Construct the plugin object
|
10 |
-
---------------------------------------------------------------------------------------------------------*/
|
11 |
|
12 |
-
|
|
|
|
|
13 |
|
14 |
-
|
15 |
-
add_action( 'admin_menu', array( $this, 'sbp_add_menu' ) );
|
16 |
-
add_action('wp_footer', array( $this, 'sbp_detected_scripts_handle'), 999 );
|
17 |
-
add_action('wp_footer', array( $this, 'sbp_detected_scripts_src'), 999 );
|
18 |
-
add_action('wp_footer', array( $this, 'sbp_detected_styles_handle'), 999 );
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
21 |
|
|
|
22 |
|
23 |
-
public function sbp_admin_init() {
|
24 |
|
25 |
-
|
26 |
-
register_setting( 'speed_booster_settings_group', 'sbp_integer' );
|
27 |
-
register_setting( 'speed_booster_settings_group', 'sbp_css_exceptions' );
|
28 |
-
register_setting( 'speed_booster_settings_group', 'sbp_sanitize');
|
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 |
-
$output[$key] = wp_filter_post_kses( $tigu );
|
164 |
-
break;
|
165 |
-
case 'sbp_head_html_script2':
|
166 |
-
$output[$key] = wp_kses_stripslashes( $tigu );
|
167 |
-
break;
|
168 |
-
case 'sbp_head_html_script3':
|
169 |
-
$output[$key] = wp_kses_stripslashes( $tigu );
|
170 |
-
break;
|
171 |
-
case 'sbp_head_html_script4':
|
172 |
-
$output[$key] = wp_kses_stripslashes( $tigu );
|
173 |
-
break;
|
174 |
|
175 |
-
|
176 |
|
177 |
-
|
|
|
178 |
|
179 |
-
return $output;
|
180 |
-
}
|
181 |
|
|
|
|
|
|
|
182 |
|
183 |
-
|
184 |
-
// Add a page to manage the plugin's settings
|
185 |
-
---------------------------------------------------------------------------------------------------------*/
|
186 |
-
|
187 |
-
public function sbp_add_menu() {
|
188 |
-
|
189 |
-
global $sbp_settings_page;
|
190 |
-
$sbp_settings_page = add_options_page( 'Speed Booster Options', 'Speed Booster Pack', 'manage_options', 'sbp-options', array( $this, 'sbp_plugin_settings_page' ) );
|
191 |
-
|
192 |
-
} // END public function add_menu()
|
193 |
-
|
194 |
-
|
195 |
-
public function sbp_plugin_settings_page() {
|
196 |
-
|
197 |
-
if( !current_user_can( 'manage_options' ) ) {
|
198 |
-
wp_die(__( 'You do not have sufficient permissions to access this page.' ));
|
199 |
-
}
|
200 |
-
|
201 |
-
|
202 |
-
/*--------------------------------------------------------------------------------------------------------
|
203 |
-
Global Variables used on options HTML page
|
204 |
-
---------------------------------------------------------------------------------------------------------*/
|
205 |
-
|
206 |
-
global $sbp_options;
|
207 |
-
|
208 |
-
// Global variables used in plugin options page
|
209 |
-
$url = get_site_url();
|
210 |
-
$response = wp_remote_get( $url, array() );
|
211 |
-
$page_time = get_option( 'sbp_page_time' );
|
212 |
-
$page_queries = get_option( 'sbp_page_queries' );
|
213 |
-
$get_enqueued_scripts_handle = get_option( 'all_theme_scripts_handle' );
|
214 |
-
$get_enqueued_scripts_src = get_option( 'all_theme_scripts_src' );
|
215 |
-
$get_enqueued_styles_handle = get_option( 'all_theme_styles_handle' );
|
216 |
-
|
217 |
-
// fallback for image compression integer
|
218 |
-
if ( get_option( 'sbp_integer' ) ) {
|
219 |
-
$this->image_compression = get_option( 'sbp_integer' );
|
220 |
-
} else {
|
221 |
-
$this->image_compression = 90;
|
222 |
-
}
|
223 |
-
$this->plugin_url = plugin_dir_url(dirname(__FILE__));
|
224 |
-
|
225 |
-
// fallback for stylesheets exception handle
|
226 |
-
if ( get_option( 'sbp_css_exceptions' ) ) {
|
227 |
-
$css_exceptions = get_option( 'sbp_css_exceptions' );
|
228 |
-
} else {
|
229 |
-
$css_exceptions = '' ;
|
230 |
-
}
|
231 |
|
232 |
-
|
|
|
|
|
|
|
|
|
233 |
|
234 |
-
|
235 |
-
$js_footer_exceptions1 = get_option( 'sbp_js_footer_exceptions1' );
|
236 |
-
} else {
|
237 |
-
$js_footer_exceptions1 = '' ;
|
238 |
-
}
|
239 |
-
|
240 |
-
if ( get_option( 'sbp_js_footer_exceptions2' ) ) {
|
241 |
-
$js_footer_exceptions2 = get_option( 'sbp_js_footer_exceptions2' );
|
242 |
-
} else {
|
243 |
-
$js_footer_exceptions2 = '' ;
|
244 |
-
}
|
245 |
-
|
246 |
-
if ( get_option( 'sbp_js_footer_exceptions3' ) ) {
|
247 |
-
$js_footer_exceptions3 = get_option( 'sbp_js_footer_exceptions3' );
|
248 |
-
} else {
|
249 |
-
$js_footer_exceptions3 = '' ;
|
250 |
-
}
|
251 |
-
|
252 |
-
if ( get_option( 'sbp_js_footer_exceptions4' ) ) {
|
253 |
-
$js_footer_exceptions4 = get_option( 'sbp_js_footer_exceptions4' );
|
254 |
-
} else {
|
255 |
-
$js_footer_exceptions4 = '' ;
|
256 |
-
}
|
257 |
-
|
258 |
-
/*--------------------------------------------------------------------------------------------------------*/
|
259 |
-
|
260 |
-
if ( get_option( 'sbp_head_html_script1' ) ) {
|
261 |
-
$sbp_html_script1 = get_option( 'sbp_head_html_script1' );
|
262 |
-
} else {
|
263 |
-
$sbp_html_script1 = '' ;
|
264 |
-
}
|
265 |
|
266 |
-
if ( get_option( 'sbp_head_html_script2' ) ) {
|
267 |
-
$sbp_html_script2 = get_option( 'sbp_head_html_script2' );
|
268 |
-
} else {
|
269 |
-
$sbp_html_script2 = '' ;
|
270 |
-
}
|
271 |
|
272 |
-
|
273 |
-
$sbp_html_script3 = get_option( 'sbp_head_html_script3' );
|
274 |
-
} else {
|
275 |
-
$sbp_html_script3 = '' ;
|
276 |
-
}
|
277 |
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
$sbp_html_script4 = '' ;
|
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 |
} // END if(!class_exists('Speed_Booster_Pack_Options'))
|
1 |
<?php
|
2 |
|
3 |
+
if ( ! class_exists( 'Speed_Booster_Pack_Options' ) ) {
|
4 |
|
5 |
+
class Speed_Booster_Pack_Options {
|
6 |
|
7 |
+
private $sbp_options;
|
|
|
|
|
|
|
8 |
|
9 |
+
/*--------------------------------------------------------------------------------------------------------
|
10 |
+
Construct the plugin object
|
11 |
+
---------------------------------------------------------------------------------------------------------*/
|
12 |
|
13 |
+
public function __construct() {
|
|
|
|
|
|
|
|
|
14 |
|
15 |
+
add_action( 'admin_init', array( $this, 'sbp_admin_init' ) );
|
16 |
+
add_action( 'admin_menu', array( $this, 'sbp_add_menu' ) );
|
17 |
+
add_action( 'wp_footer', array( $this, 'sbp_detected_scripts_handle' ), 999 );
|
18 |
+
add_action( 'wp_footer', array( $this, 'sbp_detected_scripts_src' ), 999 );
|
19 |
+
add_action( 'wp_footer', array( $this, 'sbp_detected_styles_handle' ), 999 );
|
20 |
|
21 |
+
} // END public function __construct
|
22 |
|
|
|
23 |
|
24 |
+
public function sbp_admin_init() {
|
|
|
|
|
|
|
25 |
|
26 |
+
register_setting( 'speed_booster_settings_group', 'sbp_settings' );
|
27 |
+
register_setting( 'speed_booster_settings_group', 'sbp_integer' );
|
28 |
+
register_setting( 'speed_booster_settings_group', 'sbp_css_exceptions' );
|
29 |
+
register_setting( 'speed_booster_settings_group', 'sbp_sanitize' );
|
30 |
|
31 |
+
register_setting( 'speed_booster_settings_group', 'sbp_js_footer_exceptions1' );
|
32 |
+
register_setting( 'speed_booster_settings_group', 'sbp_js_footer_exceptions2' );
|
33 |
+
register_setting( 'speed_booster_settings_group', 'sbp_js_footer_exceptions3' );
|
34 |
+
register_setting( 'speed_booster_settings_group', 'sbp_js_footer_exceptions4' );
|
35 |
|
36 |
+
register_setting( 'speed_booster_settings_group', 'sbp_defer_exceptions1' );
|
37 |
+
register_setting( 'speed_booster_settings_group', 'sbp_defer_exceptions2' );
|
38 |
+
register_setting( 'speed_booster_settings_group', 'sbp_defer_exceptions3' );
|
39 |
+
register_setting( 'speed_booster_settings_group', 'sbp_defer_exceptions4' );
|
40 |
|
41 |
+
} // END public function admin_init
|
42 |
|
43 |
|
44 |
+
/*--------------------------------------------------------------------------------------------------------
|
45 |
+
Get enqueued scripts handles
|
46 |
+
---------------------------------------------------------------------------------------------------------*/
|
47 |
|
48 |
+
public function sbp_detected_scripts_handle( $handles = array() ) {
|
49 |
|
50 |
+
global $wp_scripts;
|
51 |
|
52 |
|
53 |
+
// scripts
|
54 |
+
foreach ( $wp_scripts->registered as $registered ) {
|
55 |
+
$script_urls[ $registered->handle ] = $registered->src;
|
56 |
+
}
|
57 |
|
58 |
+
// if empty
|
59 |
+
if ( empty( $handles ) ) {
|
60 |
+
$handles = array_merge( $wp_scripts->done );
|
61 |
+
array_values( $handles );
|
62 |
+
}
|
63 |
+
// output of values
|
64 |
+
$get_enqueued_scripts_handle = '';
|
65 |
+
foreach ( $handles as $handle ) {
|
66 |
+
if ( ! empty( $script_urls[ $handle ] ) ) {
|
67 |
+
$get_enqueued_scripts_handle .= $handle . '<br />';
|
68 |
+
}
|
69 |
|
70 |
+
}
|
71 |
|
72 |
+
update_option( 'all_theme_scripts_handle', $get_enqueued_scripts_handle );
|
73 |
|
74 |
+
}
|
75 |
|
76 |
+
/*--------------------------------------------------------------------------------------------------------
|
77 |
+
Get enqueued scripts src path
|
78 |
+
---------------------------------------------------------------------------------------------------------*/
|
79 |
|
80 |
+
public function sbp_detected_scripts_src( $handles = array() ) {
|
81 |
|
82 |
+
global $wp_scripts;
|
83 |
|
84 |
+
// scripts
|
85 |
+
foreach ( $wp_scripts->registered as $registered ) {
|
86 |
+
$script_urls[ $registered->handle ] = $registered->src;
|
87 |
+
}
|
88 |
|
89 |
+
// if empty
|
90 |
+
if ( empty( $handles ) ) {
|
91 |
+
$handles = array_merge( $wp_scripts->done );
|
92 |
+
array_values( $handles );
|
93 |
+
}
|
94 |
+
// output of values
|
95 |
+
$get_enqueued_scripts_src = '';
|
96 |
+
foreach ( $handles as $handle ) {
|
97 |
+
if ( ! empty( $script_urls[ $handle ] ) ) {
|
98 |
+
$get_enqueued_scripts_src .= $script_urls[ $handle ] . '<br />';
|
99 |
+
}
|
100 |
|
101 |
+
}
|
102 |
|
103 |
+
update_option( 'all_theme_scripts_src', $get_enqueued_scripts_src );
|
104 |
|
105 |
+
}
|
106 |
|
107 |
|
108 |
+
/*--------------------------------------------------------------------------------------------------------
|
109 |
+
Get enqueued style handles
|
110 |
+
---------------------------------------------------------------------------------------------------------*/
|
111 |
|
112 |
+
public function sbp_detected_styles_handle( $handles = array() ) {
|
113 |
|
114 |
+
global $wp_styles;
|
115 |
|
116 |
|
117 |
+
// scripts
|
118 |
+
foreach ( $wp_styles->registered as $registered ) {
|
119 |
+
$style_urls[ $registered->handle ] = $registered->src;
|
120 |
+
}
|
121 |
|
122 |
+
// if empty
|
123 |
+
if ( empty( $handles ) ) {
|
124 |
+
$handles = array_merge( $wp_styles->queue );
|
125 |
+
array_values( $handles );
|
126 |
+
}
|
127 |
+
// output of values
|
128 |
+
$get_enqueued_styles_handle = '';
|
129 |
+
foreach ( $handles as $handle ) {
|
130 |
+
if ( ! empty( $style_urls[ $handle ] ) ) {
|
131 |
+
$get_enqueued_styles_handle .= $handle . '<br />';
|
132 |
+
}
|
133 |
|
134 |
+
}
|
135 |
|
136 |
+
update_option( 'all_theme_styles_handle', $get_enqueued_styles_handle );
|
137 |
|
138 |
+
}
|
139 |
|
140 |
|
141 |
+
/*--------------------------------------------------------------------------------------------------------
|
142 |
+
Sanitize Options
|
143 |
+
---------------------------------------------------------------------------------------------------------*/
|
144 |
|
145 |
+
public function sbp_sanitize( $input ) {
|
146 |
|
147 |
+
$output = array();
|
148 |
|
149 |
+
foreach ( $input as $key => $tigu ) {
|
150 |
|
151 |
+
switch ( $key ) {
|
152 |
+
case 'sbp_js_footer_exceptions1':
|
153 |
+
$output[ $key ] = esc_html( $tigu );
|
154 |
+
break;
|
155 |
+
case 'sbp_js_footer_exceptions2':
|
156 |
+
$output[ $key ] = esc_html( $tigu );
|
157 |
+
break;
|
158 |
+
case 'sbp_js_footer_exceptions3':
|
159 |
+
$output[ $key ] = esc_html( $tigu );
|
160 |
+
break;
|
161 |
+
case 'sbp_js_footer_exceptions4':
|
162 |
+
$output[ $key ] = esc_html( $tigu );
|
163 |
+
break;
|
164 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
|
166 |
+
}
|
167 |
|
168 |
+
return $output;
|
169 |
+
}
|
170 |
|
|
|
|
|
171 |
|
172 |
+
/*--------------------------------------------------------------------------------------------------------
|
173 |
+
// Add a page to manage the plugin's settings
|
174 |
+
---------------------------------------------------------------------------------------------------------*/
|
175 |
|
176 |
+
public function sbp_add_menu() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
+
global $sbp_settings_page;
|
179 |
+
$sbp_settings_page = add_menu_page( __( 'Speed Booster Options', 'sb-pack' ), __( 'Speed Booster', 'sb-pack' ), 'manage_options', 'sbp-options', array(
|
180 |
+
$this,
|
181 |
+
'sbp_plugin_settings_page',
|
182 |
+
), plugin_dir_url( __FILE__ ) . 'images/icon-16x16.png' );
|
183 |
|
184 |
+
} // END public function add_menu()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
|
|
|
|
|
|
|
|
|
|
|
186 |
|
187 |
+
public function sbp_plugin_settings_page() {
|
|
|
|
|
|
|
|
|
188 |
|
189 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
190 |
+
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
|
191 |
+
}
|
|
|
|
|
|
|
|
|
192 |
|
193 |
+
|
194 |
+
/*--------------------------------------------------------------------------------------------------------
|
195 |
+
Global Variables used on options HTML page
|
196 |
+
---------------------------------------------------------------------------------------------------------*/
|
197 |
+
|
198 |
+
global $sbp_options;
|
199 |
+
|
200 |
+
// Global variables used in plugin options page
|
201 |
+
$url = get_site_url();
|
202 |
+
$response = wp_remote_get( $url, array() );
|
203 |
+
$page_time = get_option( 'sbp_page_time' );
|
204 |
+
$page_queries = get_option( 'sbp_page_queries' );
|
205 |
+
$get_enqueued_scripts_handle = get_option( 'all_theme_scripts_handle' );
|
206 |
+
$get_enqueued_scripts_src = get_option( 'all_theme_scripts_src' );
|
207 |
+
$get_enqueued_styles_handle = get_option( 'all_theme_styles_handle' );
|
208 |
+
|
209 |
+
// fallback for image compression integer
|
210 |
+
if ( get_option( 'sbp_integer' ) ) {
|
211 |
+
$this->image_compression = get_option( 'sbp_integer' );
|
212 |
+
} else {
|
213 |
+
$this->image_compression = 75;
|
214 |
+
}
|
215 |
+
$this->plugin_url = plugin_dir_url( dirname( __FILE__ ) );
|
216 |
+
|
217 |
+
// fallback for stylesheets exception handle
|
218 |
+
if ( get_option( 'sbp_css_exceptions' ) ) {
|
219 |
+
$css_exceptions = get_option( 'sbp_css_exceptions' );
|
220 |
+
} else {
|
221 |
+
$css_exceptions = '';
|
222 |
+
}
|
223 |
+
|
224 |
+
/*--------------------------------------------------------------------------------------------------------*/
|
225 |
+
|
226 |
+
if ( get_option( 'sbp_js_footer_exceptions1' ) ) {
|
227 |
+
$js_footer_exceptions1 = get_option( 'sbp_js_footer_exceptions1' );
|
228 |
+
} else {
|
229 |
+
$js_footer_exceptions1 = '';
|
230 |
+
}
|
231 |
+
|
232 |
+
if ( get_option( 'sbp_js_footer_exceptions2' ) ) {
|
233 |
+
$js_footer_exceptions2 = get_option( 'sbp_js_footer_exceptions2' );
|
234 |
+
} else {
|
235 |
+
$js_footer_exceptions2 = '';
|
236 |
+
}
|
237 |
+
|
238 |
+
if ( get_option( 'sbp_js_footer_exceptions3' ) ) {
|
239 |
+
$js_footer_exceptions3 = get_option( 'sbp_js_footer_exceptions3' );
|
240 |
+
} else {
|
241 |
+
$js_footer_exceptions3 = '';
|
242 |
+
}
|
243 |
+
|
244 |
+
if ( get_option( 'sbp_js_footer_exceptions4' ) ) {
|
245 |
+
$js_footer_exceptions4 = get_option( 'sbp_js_footer_exceptions4' );
|
246 |
+
} else {
|
247 |
+
$js_footer_exceptions4 = '';
|
248 |
+
}
|
249 |
+
|
250 |
+
/*--------------------------------------------------------------------------------------------------------*/
|
251 |
+
|
252 |
+
|
253 |
+
|
254 |
+
if ( get_option( 'sbp_defer_exceptions1' ) ) {
|
255 |
+
$defer_exceptions1 = get_option( 'sbp_defer_exceptions1' );
|
256 |
+
} else {
|
257 |
+
$defer_exceptions1 = '';
|
258 |
+
}
|
259 |
+
|
260 |
+
if ( get_option( 'sbp_defer_exceptions2' ) ) {
|
261 |
+
$defer_exceptions2 = get_option( 'sbp_defer_exceptions2' );
|
262 |
+
} else {
|
263 |
+
$defer_exceptions2 = '';
|
264 |
+
}
|
265 |
+
|
266 |
+
if ( get_option( 'sbp_defer_exceptions3' ) ) {
|
267 |
+
$defer_exceptions3 = get_option( 'sbp_defer_exceptions3' );
|
268 |
+
} else {
|
269 |
+
$defer_exceptions3 = '';
|
270 |
+
}
|
271 |
+
|
272 |
+
if ( get_option( 'sbp_defer_exceptions4' ) ) {
|
273 |
+
$defer_exceptions4 = get_option( 'sbp_defer_exceptions4' );
|
274 |
+
} else {
|
275 |
+
$defer_exceptions4 = '';
|
276 |
+
}
|
277 |
+
|
278 |
+
/*--------------------------------------------------------------------------------------------------------*/
|
279 |
+
|
280 |
+
|
281 |
+
|
282 |
+
// Render the plugin options page HTML
|
283 |
+
include( SPEED_BOOSTER_PACK_PATH . 'inc/template/options.php' );
|
284 |
+
|
285 |
+
} // END public function sbp_plugin_settings_page()
|
286 |
+
|
287 |
+
|
288 |
+
} // END class Speed_Booster_Pack_Options
|
289 |
|
290 |
} // END if(!class_exists('Speed_Booster_Pack_Options'))
|
inc/template/notice.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<div class='notice notice-warning' id='sbp-news' style="padding-top: 7px">
|
2 |
<div style="float:right;"><a href="javascript:dismissNews()" class="button" style="margin-top:10px;"><?php _e('Dismiss','sb-pack');?></a></div>
|
3 |
<strong><?php _e('Speed Booster Pack','sb-pack');?></strong>
|
4 |
-
<p><?php printf(__('Check out the %s Plugin settings %s for new features that can make your site load faster.','sb-pack'), '<a href="
|
5 |
</div>
|
6 |
<script>
|
7 |
function dismissNews() {
|
1 |
<div class='notice notice-warning' id='sbp-news' style="padding-top: 7px">
|
2 |
<div style="float:right;"><a href="javascript:dismissNews()" class="button" style="margin-top:10px;"><?php _e('Dismiss','sb-pack');?></a></div>
|
3 |
<strong><?php _e('Speed Booster Pack','sb-pack');?></strong>
|
4 |
+
<p><?php printf(__('Check out the %s Plugin settings %s for new features that can make your site load faster.','sb-pack'), '<a href="admin.php?page=sbp-options">', '</a>');?></p>
|
5 |
</div>
|
6 |
<script>
|
7 |
function dismissNews() {
|
inc/template/options.php
CHANGED
@@ -1,444 +1,634 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
<div class="
|
21 |
-
|
22 |
-
|
23 |
-
<
|
24 |
-
|
25 |
-
<div class="
|
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 |
-
<div class="
|
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 |
-
<span
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
<span class="
|
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 |
-
</p>
|
203 |
-
|
204 |
-
|
205 |
-
<
|
206 |
-
<
|
207 |
-
|
208 |
-
|
209 |
-
<
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
<
|
214 |
-
|
215 |
-
|
216 |
-
<
|
217 |
-
|
218 |
-
<
|
219 |
-
|
220 |
-
</
|
221 |
-
|
222 |
-
<
|
223 |
-
<?php
|
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 |
-
</p>
|
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 |
-
<div class="sbp-
|
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 |
-
</p>
|
333 |
-
|
334 |
-
<
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
<
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
<
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
<
|
349 |
-
|
350 |
-
<
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
<div class="
|
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 |
-
</div
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
</
|
395 |
-
|
396 |
-
</div>
|
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 |
-
</div>
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// handle closed postboxes
|
4 |
+
$user_id = get_current_user_id();
|
5 |
+
$option_name = 'closedpostboxes_' . 'toplevel_page_sbp-options'; // use the "pagehook" ID
|
6 |
+
$option_arr = get_user_option( $option_name, $user_id ); // get the options for that page
|
7 |
+
|
8 |
+
|
9 |
+
if ( is_array( $option_arr ) && in_array( 'exclude-from-footer', $option_arr ) ) {
|
10 |
+
$closed = true;
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
if ( is_array( $option_arr ) && in_array( 'defer-from-footer', $option_arr ) ) {
|
15 |
+
$closed_defer = true;
|
16 |
+
}
|
17 |
+
|
18 |
+
?>
|
19 |
+
|
20 |
+
<div class="wrap about-wrap">
|
21 |
+
<div class="sb-pack">
|
22 |
+
|
23 |
+
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
|
24 |
+
|
25 |
+
<div class="about-text">
|
26 |
+
<?php
|
27 |
+
/* Translators: Welcome Screen Description. */
|
28 |
+
echo esc_html__( 'Speed Booster Pack is a lightweight, frequently updated, easy to use and well supported plugin which allows you to improve your website’s loading speed. Visitors usually close a website if it doesn’t load in a few seconds and the slower a site loads the greater the chances are that the visitors will leave. And you don’t want that to happen, do you?
|
29 |
+
', 'sb-pack' );
|
30 |
+
?>
|
31 |
+
</div>
|
32 |
+
<div class="wp-badge sbp-welcome-logo"></div>
|
33 |
+
<div class="sbp-fast-as-a-rabbit">
|
34 |
+
<div class="sbp-speed-page-load">
|
35 |
+
<?php _e( 'Page load: ', 'sb-pack' ); ?>
|
36 |
+
<span><?php echo esc_html( $page_time ) . __( ' sec', 'sb-pack' ); ?></span>
|
37 |
+
<span class="sbp-progress-bar">
|
38 |
+
<?php if ( $page_time < 10 ) { ?>
|
39 |
+
<progress max="100" value="<?php echo $page_time * 10; ?>">
|
40 |
+
<?php } else { ?>
|
41 |
+
<progress max="100" value="100" class="sbp-progress-red">
|
42 |
+
<?php } ?>
|
43 |
+
</progress>
|
44 |
+
|
45 |
+
<?php if ( ( $page_time ) > 10 ) { ?>
|
46 |
+
<img draggable="false" class="emoji" title="Your page loading time just made us cry" alt="😥" src="https://s.w.org/images/core/emoji/2.4/svg/1f625.svg">
|
47 |
+
<?php } else if ( ( $page_time ) > 8 && ( $page_time ) < 10 ) { ?>
|
48 |
+
<img draggable="false" class="emoji" title="Your page loading time just made us cry" alt="😥" src="https://s.w.org/images/core/emoji/2.4/svg/1f625.svg">
|
49 |
+
<?php } else if ( ( $page_time ) > 6 && ( $page_time ) < 8 ) { ?>
|
50 |
+
<img draggable="false" class="emoji" title="I'm not gonna lie, things aren't looking to good" alt="😮" src="https://s.w.org/images/core/emoji/2.4/svg/1f62e.svg">
|
51 |
+
<?php } else if ( ( $page_time ) > 4 && ( $page_time ) < 6 ) { ?>
|
52 |
+
<img draggable="false" class="emoji" title="Could be better" alt="🙄" src="https://s.w.org/images/core/emoji/2.4/svg/1f644.svg">
|
53 |
+
<?php } else if ( ( $page_time ) > 2 && ( $page_time ) < 4 ) { ?>
|
54 |
+
<img draggable="false" class="emoji" title="Going strong" alt="😥" src="https://s.w.org/images/core/emoji/2.4/svg/1f625.svg">
|
55 |
+
<?php } else if ( ( $page_time ) < 2 ) { ?>
|
56 |
+
<img draggable="false" title="You're a star" class="emoji" alt="⭐" src="https://s.w.org/images/core/emoji/2.4/svg/2b50.svg">
|
57 |
+
<?php } ?>
|
58 |
+
</span>
|
59 |
+
|
60 |
+
</div>
|
61 |
+
<div class="sbp-speed-db-queries">
|
62 |
+
<i class="dashicons dashicons-dashboard"></i><span><?php echo esc_html( $page_queries ); ?></span> <?php _e( 'DB Queries', 'sb-pack' ); ?>
|
63 |
+
</div>
|
64 |
+
|
65 |
+
<div class="sbp-speed-memory-usage">
|
66 |
+
<i class="dashicons dashicons-chart-pie"></i>
|
67 |
+
<?php _e( 'Memory: ', 'sb-pack' ); ?>
|
68 |
+
<span><?php echo number_format( ( memory_get_peak_usage() / 1024 / 1024 ), 1, ',', '' ) . ' / ' . ini_get( 'memory_limit' ), '<br />'; ?></span>
|
69 |
+
|
70 |
+
</div>
|
71 |
+
|
72 |
+
<div class="sbp-speed-plugin-number">
|
73 |
+
<i class="dashicons dashicons-admin-plugins"></i>
|
74 |
+
<?php _e( 'Plugins: ', 'sb-pack' ); ?>
|
75 |
+
<span><?php echo count( get_option( 'active_plugins' ) ); ?></span>
|
76 |
+
</div>
|
77 |
+
|
78 |
+
<div class="sbp-speed-info-analyze-container">
|
79 |
+
<!-- <a href="#" class="button button-secondary"><i class="dashicons dashicons-info"></i></a> -->
|
80 |
+
<!-- <a href="#" class="button button-primary"><i class="dashicons dashicons-search"></i><?php _e( 'Analyse', 'sb-pack' ); ?> -->
|
81 |
+
</a>
|
82 |
+
</div>
|
83 |
+
</div>
|
84 |
+
|
85 |
+
<h2 class="nav-tab-wrapper wp-clearfix">
|
86 |
+
<a class="nav-tab" href="#general-options"><?php _e( 'General', 'sb-pack' ); ?></a>
|
87 |
+
<a class="nav-tab" href="#advanced-options"><?php _e( 'Advanced', 'sb-pack' ); ?></a>
|
88 |
+
<a class="nav-tab" href="#image-options"><?php _e( 'Image Optimization', 'sb-pack' ); ?></a>
|
89 |
+
<a class="nav-tab" href="#support"><?php _e( 'Support', 'sb-pack' ); ?></a>
|
90 |
+
</h2>
|
91 |
+
|
92 |
+
<form method="post" action="options.php">
|
93 |
+
|
94 |
+
<?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
|
95 |
+
<?php wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
|
96 |
+
<?php settings_fields( 'speed_booster_settings_group' ); ?>
|
97 |
+
|
98 |
+
<div id="general-options" class="sb-pack-tab">
|
99 |
+
|
100 |
+
<h3><?php _e( 'General', 'sb-pack' ); ?></h3>
|
101 |
+
|
102 |
+
<p>
|
103 |
+
<input id="sbp_settings[jquery_to_footer]" name="sbp_settings[jquery_to_footer]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['jquery_to_footer'] ) ); ?> />
|
104 |
+
<label for="sbp_settings[jquery_to_footer]"><?php _e( 'Move scripts to the footer', 'sb-pack' ); ?></label>
|
105 |
+
<span class="tooltip-right"
|
106 |
+
data-tooltip="<?php echo __( 'This option move all scripts to the footer while keeping stylesheets in the header to improve page loading speed and get a higher score on the major speed testing sites such as GTmetrix or other website speed testing tools.', 'sb-pack' ); ?>">
|
107 |
+
<i class="dashicons dashicons-editor-help"></i>
|
108 |
+
</span>
|
109 |
+
|
110 |
+
</p>
|
111 |
+
|
112 |
+
<p>
|
113 |
+
<input id="sbp_settings[use_google_libs]" name="sbp_settings[use_google_libs]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['use_google_libs'] ) ); ?> />
|
114 |
+
<label for="sbp_settings[use_google_libs]"><?php _e( 'Load JS from Google Libraries', 'sb-pack' ); ?></label>
|
115 |
+
<span class="tooltip-right"
|
116 |
+
data-tooltip="<?php echo __( 'Loading WordPress javascript files from Google’s Libraries rather than serving it from your WordPress install directly, will reduce latency, increase parallelism and improve caching.', 'sb-pack' ); ?>">
|
117 |
+
<i class="dashicons dashicons-editor-help"></i>
|
118 |
+
</span>
|
119 |
+
</p>
|
120 |
+
|
121 |
+
<p>
|
122 |
+
<input id="sbp_settings[minify_html_js]" name="sbp_settings[minify_html_js]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['minify_html_js'] ) ); ?> />
|
123 |
+
<label for="sbp_settings[minify_html_js]"><?php _e( 'Minify HTML', 'sb-pack' ); ?></label>
|
124 |
+
<span class="tooltip-right"
|
125 |
+
data-tooltip="<?php echo __( 'Activate this option only if you don’t want to use other minify plugins or other speed optimization plugin that has minify option included. If something goes wrong, simply uncheck this option and save the settings.', 'sb-pack' ); ?>">
|
126 |
+
<i class="dashicons dashicons-editor-help"></i>
|
127 |
+
</span>
|
128 |
+
</p>
|
129 |
+
|
130 |
+
<p>
|
131 |
+
<input id="sbp_settings[defer_parsing]" name="sbp_settings[defer_parsing]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['defer_parsing'] ) ); ?> />
|
132 |
+
<label for="sbp_settings[defer_parsing]"><?php _e( 'Defer parsing of javascript files', 'sb-pack' ); ?></label>
|
133 |
+
<span class="tooltip-right"
|
134 |
+
data-tooltip="<?php echo __( '!!!Note: This will be disabled IF Move Scripts to Footer is enabled. By deferring parsing of unneeded JavaScript until it needs to be executed, you can reduce the initial load time of your page. Please note that this option will not defer the main WordPress jQuery script if Load JS from Google Libraries option is not checked.', 'sb-pack' ); ?>">
|
135 |
+
<i class="dashicons dashicons-editor-help"></i>
|
136 |
+
</span>
|
137 |
+
</p>
|
138 |
+
|
139 |
+
<p>
|
140 |
+
<input id="sbp_settings[query_strings]" name="sbp_settings[query_strings]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['query_strings'] ) ); ?> />
|
141 |
+
<label for="sbp_settings[query_strings]"><?php _e( 'Remove query strings', 'sb-pack' ); ?></label>
|
142 |
+
<span class="tooltip-right"
|
143 |
+
data-tooltip="<?php echo __( 'Since most proxies do not cache resources with a ? in their URL, this option allows you to remove any query strings (version numbers) from static resources like CSS & JS files, thus improving your speed scores in services like GTmetrix, PageSpeed, YSlow and Pingdoom.', 'sb-pack' ); ?>">
|
144 |
+
<i class="dashicons dashicons-editor-help"></i>
|
145 |
+
</span>
|
146 |
+
</p>
|
147 |
+
|
148 |
+
<p>
|
149 |
+
<input id="sbp_settings[font_awesome]" name="sbp_settings[font_awesome]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['font_awesome'] ) ); ?> />
|
150 |
+
<label for="sbp_settings[font_awesome]"><?php _e( 'Removes extra Font Awesome styles', 'sb-pack' ); ?></label>
|
151 |
+
<span class="tooltip-right"
|
152 |
+
data-tooltip="<?php echo __( 'Use this option only if your theme uses Font Awesome, to prevent other plugins that uses Font Awesome, to add their stylesheets to your theme. In other words, this option removes extra Font Awesome stylesheets added to your theme by certain plugins.', 'sb-pack' ); ?>">
|
153 |
+
<i class="dashicons dashicons-editor-help"></i>
|
154 |
+
</span>
|
155 |
+
</p>
|
156 |
+
|
157 |
+
<h3> <?php _e( 'More settings', 'sb-pack' ); ?></h3>
|
158 |
+
|
159 |
+
<p>
|
160 |
+
<input id="sbp_settings[remove_emojis]" name="sbp_settings[remove_emojis]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['remove_emojis'] ) ); ?> />
|
161 |
+
<label for="sbp_settings[remove_emojis]"><?php _e( 'Remove WordPress Emoji scripts', 'sb-pack' ); ?></label>
|
162 |
+
<span class="tooltip-right"
|
163 |
+
data-tooltip="<?php echo __( 'Emojis are fun and all, but if you are aren’t using them they actually load a JavaScript file (wp-emoji-release.min.js) on every page of your website. For a lot of businesses, this is not needed and simply adds load time to your site. So we recommend disabling this.', 'sb-pack' ); ?>">
|
164 |
+
<i class="dashicons dashicons-editor-help"></i>
|
165 |
+
</span>
|
166 |
+
</p>
|
167 |
+
|
168 |
+
<p>
|
169 |
+
<input id="sbp_settings[remove_wsl]" name="sbp_settings[remove_wsl]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['remove_wsl'] ) ); ?> />
|
170 |
+
<label for="sbp_settings[remove_wsl]"><?php _e( 'Remove WordPress Shortlink', 'sb-pack' ); ?></label>
|
171 |
+
<span class="tooltip-right"
|
172 |
+
data-tooltip="<?php echo __( 'WordPress URL shortening is sometimes useful, but it automatically adds an ugly code in your header, so you can remove it.', 'sb-pack' ); ?>">
|
173 |
+
<i class="dashicons dashicons-editor-help"></i>
|
174 |
+
</span>
|
175 |
+
</p>
|
176 |
+
|
177 |
+
<p>
|
178 |
+
<input id="sbp_settings[remove_adjacent]" name="sbp_settings[remove_adjacent]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['remove_adjacent'] ) ); ?> />
|
179 |
+
<label for="sbp_settings[remove_adjacent]"><?php _e( 'Remove Adjacent Posts Links', 'sb-pack' ); ?></label>
|
180 |
+
<span class="tooltip-right"
|
181 |
+
data-tooltip="<?php echo __( 'WordPress incorrectly implements this feature that supposedly should fix a pagination issues but it messes up, so there is no reason to keep these around. However, some browsers may use Adjacent Posts Links to navigate your site, although you can remove it if you run a well designed theme.', 'sb-pack' ); ?>">
|
182 |
+
<i class="dashicons dashicons-editor-help"></i>
|
183 |
+
</span>
|
184 |
+
</p>
|
185 |
+
|
186 |
+
<p>
|
187 |
+
<input id="sbp_settings[wml_link]" name="sbp_settings[wml_link]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['wml_link'] ) ); ?> />
|
188 |
+
<label for="sbp_settings[wml_link]"><?php _e( 'Remove Windows Manifest', 'sb-pack' ); ?></label>
|
189 |
+
<span class="tooltip-right"
|
190 |
+
data-tooltip="<?php echo __( 'Windows Live Writer (WLW) is a Microsoft application for composing and managing blog posts offline and publish them later. If you are not using Windows Live Writer application, you can remove it from the WP head.', 'sb-pack' ); ?>">
|
191 |
+
<i class="dashicons dashicons-editor-help"></i>
|
192 |
+
</span>
|
193 |
+
</p>
|
194 |
+
|
195 |
+
<p>
|
196 |
+
<input id="sbp_settings[rsd_link]" name="sbp_settings[rsd_link]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['rsd_link'] ) ); ?> />
|
197 |
+
<label for="sbp_settings[rsd_link]"><?php _e( 'Remove RSD(Really Simple Discovery) Link', 'sb-pack' ); ?></label>
|
198 |
+
<span class="tooltip-right"
|
199 |
+
data-tooltip="<?php echo __( 'This type of link is used by blog clients. If you edit your site from your browser then you don’t need this. It is also used by some 3rd party applications that utilize XML-RPC requests. In most cases, this is just unnecessary code.', 'sb-pack' ); ?>">
|
200 |
+
<i class="dashicons dashicons-editor-help"></i>
|
201 |
+
</span>
|
202 |
+
</p>
|
203 |
+
|
204 |
+
<p>
|
205 |
+
<input id="sbp_settings[wp_generator]" name="sbp_settings[wp_generator]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['wp_generator'] ) ); ?> />
|
206 |
+
<label for="sbp_settings[wp_generator]"><?php _e( 'Remove the WordPress Version', 'sb-pack' ); ?></label>
|
207 |
+
<span class="tooltip-right"
|
208 |
+
data-tooltip="<?php echo __( 'This option is added for security reasons and cleaning the header.', 'sb-pack' ); ?>">
|
209 |
+
<i class="dashicons dashicons-editor-help"></i>
|
210 |
+
</span>
|
211 |
+
</p>
|
212 |
+
|
213 |
+
<p>
|
214 |
+
<input id="sbp_settings[remove_all_feeds]" name="sbp_settings[remove_all_feeds]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['remove_all_feeds'] ) ); ?> />
|
215 |
+
<label for="sbp_settings[remove_all_feeds]"><?php _e( 'Remove all rss feed links', 'sb-pack' ); ?></label>
|
216 |
+
<span class="tooltip-right"
|
217 |
+
data-tooltip="<?php echo __( 'This option wil remove all rss feed links to cleanup your WordPress header. It is also useful on Unicorn – The W3C Markup Validation Service to get rid out the “feed does not validate” error.', 'sb-pack' ); ?>">
|
218 |
+
<i class="dashicons dashicons-editor-help"></i>
|
219 |
+
</span>
|
220 |
+
</p>
|
221 |
+
|
222 |
+
<p>
|
223 |
+
<input id="sbp_settings[disable_xmlrpc]" name="sbp_settings[disable_xmlrpc]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['disable_xmlrpc'] ) ); ?> />
|
224 |
+
<label for="sbp_settings[disable_xmlrpc]"><?php _e( 'Disable XML-RPC', 'sb-pack' ); ?></label>
|
225 |
+
<span class="tooltip-right"
|
226 |
+
data-tooltip="<?php echo __( 'XML-RPC was added in WordPress 3.5 and allows for remote connections, and unless you are using your mobile device to post to WordPress it does more bad than good. In fact, it can open your site up to a bunch of security risks. There are a few plugins that utilize this such as JetPack, but we don’t recommend using JetPack for performance reasons.', 'sb-pack' ); ?>">
|
227 |
+
<i class="dashicons dashicons-editor-help"></i>
|
228 |
+
</span>
|
229 |
+
</p>
|
230 |
+
|
231 |
+
<h3><?php _e( 'Need even more speed?', 'sb-pack' ); ?></h3>
|
232 |
+
|
233 |
+
<p>
|
234 |
+
<input id="sbp_css_async" name="sbp_settings[sbp_css_async]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['sbp_css_async'] ) ); ?> />
|
235 |
+
<label for="sbp_css_async"><?php _e( 'Inline all CSS styles', 'sb-pack' ); ?></label>
|
236 |
+
<span class="tooltip-right"
|
237 |
+
data-tooltip="<?php echo __( 'Checking this option will inline the contents of all your stylesheets. This helps with the annoying render blocking error Google Page Speed Insights displays.', 'sb-pack' ); ?>">
|
238 |
+
<i class="dashicons dashicons-editor-help"></i>
|
239 |
+
</span>
|
240 |
+
</p>
|
241 |
+
|
242 |
+
<p>
|
243 |
+
<input id="sbp_settings[sbp_css_minify]" name="sbp_settings[sbp_css_minify]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['sbp_css_minify'] ) ); ?> />
|
244 |
+
<label for="sbp_settings[sbp_css_minify]"><?php _e( 'Minify all (previously) inlined CSS styles', 'sb-pack' ); ?></label>
|
245 |
+
<span class="tooltip-right"
|
246 |
+
data-tooltip="<?php echo __( 'Minifying all inlined CSS styles will optimize the CSS delivery and will eliminate the annoying message on Google Page Speed regarding to render-blocking css.', 'sb-pack' ); ?>">
|
247 |
+
<i class="dashicons dashicons-editor-help"></i>
|
248 |
+
</span>
|
249 |
+
</p>
|
250 |
+
|
251 |
+
<p>
|
252 |
+
<input id="sbp_settings[sbp_footer_css]" name="sbp_settings[sbp_footer_css]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['sbp_footer_css'] ) ); ?> />
|
253 |
+
<label for="sbp_settings[sbp_footer_css]"><?php _e( 'Move all inlined CSS into the footer', 'sb-pack' ); ?></label>
|
254 |
+
<span class="tooltip-right"
|
255 |
+
data-tooltip="<?php echo __( 'Inserting all CSS styles inline to the footer is a sensitive option that will eliminate render-blocking CSS warning in Google Page Speed test. If there is something broken after activation, you need to disable this option. Please note that before enabling this sensitive option, it is strongly recommended that you also enable the “ Move scripts to the footer” option.', 'sb-pack' ); ?>">
|
256 |
+
<i class="dashicons dashicons-editor-help"></i>
|
257 |
+
</span>
|
258 |
+
</p>
|
259 |
+
|
260 |
+
<p>
|
261 |
+
<input id="sbp_settings[sbp_is_mobile]" name="sbp_settings[sbp_is_mobile]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['sbp_is_mobile'] ) ); ?> />
|
262 |
+
<label for="sbp_settings[sbp_is_mobile]"><?php _e( 'Disable all above CSS options on mobile devices', 'sb-pack' ); ?></label>
|
263 |
+
<span class="tooltip-right"
|
264 |
+
data-tooltip="<?php echo __( 'Disable all above CSS options on mobile devices: this option was added to avoid some appearance issues on mobile devices.', 'sb-pack' ); ?>">
|
265 |
+
<i class="dashicons dashicons-editor-help"></i>
|
266 |
+
</span>
|
267 |
+
</p>
|
268 |
+
|
269 |
+
<div class="td-border-last"></div>
|
270 |
+
|
271 |
+
<h4><?php _e( 'Exclude styles from being inlined and/or minified option: ', 'sb-pack' ); ?></h4>
|
272 |
+
<p>
|
273 |
+
<textarea cols="50" rows="3" name="sbp_css_exceptions" id="sbp_css_exceptions" value="<?php echo esc_attr( $css_exceptions ); ?>" /><?php echo wp_kses_post( $css_exceptions ); ?></textarea>
|
274 |
+
</p>
|
275 |
+
<p class="description">
|
276 |
+
<?php _e( 'Enter one by line, the handles of css files or the final part of the style URL. For example: <code>font-awesome</code> or <code>font-awesome.min.css</code>', 'sb-pack' ); ?>
|
277 |
+
</p>
|
278 |
+
|
279 |
+
<div class="td-border-last"></div>
|
280 |
+
|
281 |
+
<p>
|
282 |
+
<h4><?php _e( 'As a guidance, here is a list of css handles of each enqueued style detected by our plugin:', 'sb-pack' ); ?></h4>
|
283 |
+
</p>
|
284 |
+
|
285 |
+
<div class="sbp-all-enqueued">
|
286 |
+
|
287 |
+
<div class="sbp-div-head">
|
288 |
+
<div class="sbp-title-scripts"><?php _e( 'CSS Handle', 'sb-pack' ); ?></div>
|
289 |
+
</div>
|
290 |
+
|
291 |
+
<div class="sbp-inline-wrap">
|
292 |
+
<div class="sbp-columns1 sbp-width">
|
293 |
+
<?php print_r( get_option( 'all_theme_styles_handle' ) ); ?>
|
294 |
+
</div>
|
295 |
+
</div>
|
296 |
+
</div>
|
297 |
+
|
298 |
+
</div><!--#general-options-->
|
299 |
+
<div id="advanced-options" class="sb-pack-tab">
|
300 |
+
|
301 |
+
<div id="poststuff">
|
302 |
+
<div id="postbox-container-exclude-footer-scripts" class="postbox-container">
|
303 |
+
<div class="meta-box-sortables" id="normal-sortables">
|
304 |
+
<?php if ( isset( $closed ) && $closed == true ) { ?>
|
305 |
+
<div class="postbox closed" id="exclude-from-footer">
|
306 |
+
<?php } else { ?>
|
307 |
+
<div class="postbox" id="exclude-from-footer">
|
308 |
+
<?Php } ?>
|
309 |
+
<button type="button" class="handlediv" aria-expanded="true">
|
310 |
+
<span class="screen-reader-text"><?php _e( 'Exclude scripts from being moved to the footer', 'sb-pack' ); ?></span>
|
311 |
+
<span class="toggle-indicator" aria-hidden="true"></span>
|
312 |
+
</button>
|
313 |
+
<h3 class="hndle ui-sortable-handle">
|
314 |
+
<span><?php _e( 'Exclude scripts from being moved to the footer', 'sb-pack' ); ?></span>
|
315 |
+
</h3>
|
316 |
+
<div class="inside">
|
317 |
+
<div class="sbp-inline-wrap">
|
318 |
+
|
319 |
+
<h4><?php _e( 'Script Handle', 'sb-pack' ); ?></h4>
|
320 |
+
<i>
|
321 |
+
<?php _e( 'Enter one js handle per text field.', 'sb-pack' ); ?> <?php _e( 'Read more', 'sb-pack' ); ?>
|
322 |
+
<a href="https://docs.machothemes.com/article/119-plugin-options-explained#exclude-scripts-from-being-moved-to-the-footer-50" target="_blank" title="Documentation"><?php _e( 'detailed instructions', 'sb-pack' ); ?></a> <?php _e( 'on this option on plugin documentation.', 'sb-pack' ); ?>
|
323 |
+
|
324 |
+
</i>
|
325 |
+
|
326 |
+
<p>
|
327 |
+
<input type="text" name="sbp_js_footer_exceptions1" id="sbp_js_footer_exceptions1" value="<?php echo esc_attr( $js_footer_exceptions1 ); ?>" />
|
328 |
+
</p>
|
329 |
+
|
330 |
+
<p>
|
331 |
+
<input type="text" name="sbp_js_footer_exceptions2" id="sbp_js_footer_exceptions2" value="<?php echo esc_attr( $js_footer_exceptions2 ); ?>" />
|
332 |
+
</p>
|
333 |
+
|
334 |
+
<p>
|
335 |
+
<input type="text" name="sbp_js_footer_exceptions3" id="sbp_js_footer_exceptions3" value="<?php echo esc_attr( $js_footer_exceptions3 ); ?>" />
|
336 |
+
</p>
|
337 |
+
|
338 |
+
<p>
|
339 |
+
<input type="text" name="sbp_js_footer_exceptions4" id="sbp_js_footer_exceptions4" value="<?php echo esc_attr( $js_footer_exceptions4 ); ?>" />
|
340 |
+
</p>
|
341 |
+
|
342 |
+
<div class="td-border-last"></div>
|
343 |
+
|
344 |
+
<p>
|
345 |
+
<h4><?php _e( 'As a guidance, here is a list of script handles and script paths of each enqueued script detected by our plugin:', 'sb-pack' ); ?></h4>
|
346 |
+
</p>
|
347 |
+
|
348 |
+
<div class="sbp-all-enqueued">
|
349 |
+
|
350 |
+
<div class="sbp-div-head">
|
351 |
+
<div class="sbp-title-scripts"><?php _e( 'Script Handle', 'sb-pack' ); ?></div>
|
352 |
+
<div class="sbp-title-scripts"><?php _e( 'Script Path', 'sb-pack' ); ?></div>
|
353 |
+
</div>
|
354 |
+
|
355 |
+
<div class="sbp-inline-wrap">
|
356 |
+
|
357 |
+
<div class="sbp-columns1 sbp-width">
|
358 |
+
<?php
|
359 |
+
$all_script_handles = get_option( 'all_theme_scripts_handle' );
|
360 |
+
|
361 |
+
$all_script_handles = explode( '<br />', $all_script_handles );
|
362 |
+
|
363 |
+
foreach ( $all_script_handles as $key => $value ) {
|
364 |
+
if ( ! empty( $value ) ) {
|
365 |
+
echo '<p>' . esc_html( $value ) . '</p>';
|
366 |
+
}
|
367 |
+
}
|
368 |
+
?>
|
369 |
+
</div>
|
370 |
+
|
371 |
+
<div class="sbp-columns2 sbp-width">
|
372 |
+
<?php
|
373 |
+
$all_scripts_src = get_option( 'all_theme_scripts_src' );
|
374 |
+
|
375 |
+
$all_scripts_src = explode( '<br />', $all_scripts_src );
|
376 |
+
|
377 |
+
foreach ( $all_scripts_src as $key => $value ) {
|
378 |
+
if ( ! empty( $value ) ) {
|
379 |
+
$value = parse_url( $value );
|
380 |
+
echo '<p>' . esc_html( str_replace( '/wp-content', '', $value['path'] ) ) . '</p>';
|
381 |
+
}
|
382 |
+
|
383 |
+
}
|
384 |
+
?>
|
385 |
+
</div>
|
386 |
+
|
387 |
+
</div>
|
388 |
+
|
389 |
+
</div>
|
390 |
+
|
391 |
+
</div><!--/.sbp-inline-wrap-->
|
392 |
+
|
393 |
+
</div>
|
394 |
+
</div>
|
395 |
+
</div>
|
396 |
+
</div>
|
397 |
+
|
398 |
+
<div id="postbox-container-defer-scripts" class="postbox-container">
|
399 |
+
|
400 |
+
<?php if ( isset( $closed_defer ) && $closed_defer == true ) { ?>
|
401 |
+
<div class="postbox closed" id="defer-from-footer">
|
402 |
+
<?php } else { ?>
|
403 |
+
<div class="postbox" id="defer-from-footer">
|
404 |
+
<?Php } ?>
|
405 |
+
|
406 |
+
<button type="button" class="handlediv" aria-expanded="true">
|
407 |
+
<span class="screen-reader-text"><?php _e( 'Exclude scripts from being deferred', 'sb-pack' ); ?></span>
|
408 |
+
<span class="toggle-indicator" aria-hidden="true"></span>
|
409 |
+
</button>
|
410 |
+
<h3 class="hndle ui-sortable-handle">
|
411 |
+
<span><?php _e( 'Exclude scripts from being deferred', 'sb-pack' ); ?></span>
|
412 |
+
</h3>
|
413 |
+
<div class="inside">
|
414 |
+
|
415 |
+
<div class="sbp-inline-wrap">
|
416 |
+
<p>
|
417 |
+
<input type="text" class="sbp-more-width" name="sbp_defer_exceptions1" id="sbp_defer_exceptions1" value="<?php echo $defer_exceptions1; ?>" />
|
418 |
+
</p>
|
419 |
+
|
420 |
+
<p>
|
421 |
+
<input type="text" class="sbp-more-width" name="sbp_defer_exceptions2" id="sbp_defer_exceptions2" value="<?php echo $defer_exceptions2; ?>" />
|
422 |
+
</p>
|
423 |
+
|
424 |
+
<p>
|
425 |
+
<input type="text" class="sbp-more-width" name="sbp_defer_exceptions3" id="sbp_defer_exceptions3" value="<?php echo $defer_exceptions3; ?>" />
|
426 |
+
</p>
|
427 |
+
|
428 |
+
<p>
|
429 |
+
<input type="text" class="sbp-more-width" name="sbp_defer_exceptions4" id="sbp_defer_exceptions4" value="<?php echo $defer_exceptions4; ?>" />
|
430 |
+
</p>
|
431 |
+
</div>
|
432 |
+
<p class="description">
|
433 |
+
<?php _e( 'Enter one by text field, the handle part of the js files that you want to be excluded from defer parsing option. For example: <code>jquery-core</code> If you want to exclude more than 4 scripts, you can use the following filter: <code>sbp_exclude_defer_scripts</code> which takes an array of script handles as params. If you don\'t know how to handle this, feel free to post on our support forums.', 'sb-pack' ); ?>
|
434 |
+
</p>
|
435 |
+
|
436 |
+
</div>
|
437 |
+
</div>
|
438 |
+
</div>
|
439 |
+
</div>
|
440 |
+
</div>
|
441 |
+
|
442 |
+
<div id="image-options" class="sb-pack-tab">
|
443 |
+
|
444 |
+
<br />
|
445 |
+
<?php
|
446 |
+
$plugins = array(
|
447 |
+
'shortpixel-image-optimiser' => array(
|
448 |
+
'title' => esc_html__( 'ShortPixel Image Optimizer', 'sb-pack' ),
|
449 |
+
'description' => esc_html__( 'Increase your website’s SEO ranking, number of visitors and ultimately your sales by optimizing any image or PDF document on your website. ', 'sb-pack' ),
|
450 |
+
'more' => 'https://shortpixel.com/h/af/IVAKFSX31472',
|
451 |
+
),
|
452 |
+
|
453 |
+
);
|
454 |
+
|
455 |
+
if ( ! function_exists( 'get_plugins' ) || ! function_exists( 'is_plugin_active' ) ) {
|
456 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
457 |
+
}
|
458 |
+
|
459 |
+
$installed_plugins = get_plugins();
|
460 |
+
|
461 |
+
function sbp_get_plugin_basename_from_slug( $slug, $installed_plugins ) {
|
462 |
+
$keys = array_keys( $installed_plugins );
|
463 |
+
foreach ( $keys as $key ) {
|
464 |
+
if ( preg_match( '|^' . $slug . '/|', $key ) ) {
|
465 |
+
return $key;
|
466 |
+
}
|
467 |
+
}
|
468 |
+
|
469 |
+
return $slug;
|
470 |
+
}
|
471 |
+
|
472 |
+
?>
|
473 |
+
|
474 |
+
<div class="sbp-recommended-plugins">
|
475 |
+
<?php
|
476 |
+
foreach ( $plugins as $slug => $plugin ) {
|
477 |
+
|
478 |
+
$label = __( 'Install + Activate & get 500 free credits', 'sb-pack' );
|
479 |
+
$action = 'install';
|
480 |
+
$plugin_path = sbp_get_plugin_basename_from_slug( $slug, $installed_plugins );
|
481 |
+
$url = '#';
|
482 |
+
$class = '';
|
483 |
+
|
484 |
+
if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_path ) ) {
|
485 |
+
|
486 |
+
if ( is_plugin_active( $plugin_path ) ) {
|
487 |
+
$label = __( 'Activated', 'sb-pack' );
|
488 |
+
$action = 'disable';
|
489 |
+
$class = 'disabled';
|
490 |
+
} else {
|
491 |
+
$label = __( 'Activate & get 500 free credits', 'sb-pack' );
|
492 |
+
$action = 'activate';
|
493 |
+
$url = wp_nonce_url( add_query_arg( array(
|
494 |
+
'action' => 'activate',
|
495 |
+
'plugin' => $plugin_path,
|
496 |
+
), admin_url( 'plugins.php' ) ), 'activate-plugin_' . $plugin_path );
|
497 |
+
}
|
498 |
+
}
|
499 |
+
|
500 |
+
?>
|
501 |
+
<div class="sbp-recommended-plugin">
|
502 |
+
<div class="plugin-image">
|
503 |
+
<img src="https://ps.w.org/shortpixel-image-optimiser/assets/icon-128x128.png?rev=1038819">
|
504 |
+
</div>
|
505 |
+
<div class="plugin-information">
|
506 |
+
<h3 class="plugin-name">
|
507 |
+
<strong><?php echo esc_html( $plugin['title'] ); ?></strong></h3>
|
508 |
+
<p class="plugin-description"><?php echo esc_html( $plugin['description'] ); ?></p>
|
509 |
+
|
510 |
+
<a href="<?php echo esc_url( $url ); ?>" data-action="<?php echo esc_attr( $action ); ?>" data-slug="<?php echo esc_attr( $plugin_path ); ?>" data-message="<?php esc_html_e( 'Activated', 'sb-pack' ); ?>" class="button-primary sbp-plugin-button <?php echo esc_attr( $class ); ?>"><?php echo esc_html( $label ); ?></a>
|
511 |
+
<?php if ( isset( $plugin['more'] ) ) : ?>
|
512 |
+
<a href="<?php echo esc_url( $plugin['more'] ); ?>" class="button-secondary" target="_blank"><?php esc_html_e( 'Test your site for free', 'sb-pack' ); ?></a>
|
513 |
+
<?php endif ?>
|
514 |
+
</div>
|
515 |
+
</div>
|
516 |
+
<?php } ?>
|
517 |
+
</div>
|
518 |
+
|
519 |
+
<h3><?php _e( 'Change the default image compression level', 'sb-pack' ); ?></h3>
|
520 |
+
|
521 |
+
<script type='text/javascript'>
|
522 |
+
var jpegCompression = '<?php echo $this->image_compression; ?>';
|
523 |
+
</script>
|
524 |
+
|
525 |
+
<p class="sbp-amount">
|
526 |
+
<?php _e( 'Compression level:', 'sb-pack' ); ?>
|
527 |
+
<input type="text" class="sbp-amount" id="sbp-amount" />
|
528 |
+
</p>
|
529 |
+
|
530 |
+
<p>
|
531 |
+
<div class="sbp-slider" id="sbp-slider"></div>
|
532 |
+
<input type="hidden" name="sbp_integer" id="sbp_integer" value="<?php echo $this->image_compression; ?>" />
|
533 |
+
</p>
|
534 |
+
|
535 |
+
<p class="description">
|
536 |
+
<?php _e( 'The default image compression setting in WordPress is 90%. Compressing your images further than the default will make your file sizes even smaller and will boost your site performance. As a reference, a lower level of compression means more performance but might induce quality loss. We recommend you choose a compression level between 50 and 75.', 'sb-pack' ); ?>
|
537 |
+
<br />
|
538 |
+
</p>
|
539 |
+
<p class="description"><strong>
|
540 |
+
<?php _e( 'Note that any changes you make will only affect new images uploaded to your site. A specialized plugin can optimize all your present images and will also optimize new ones as they are added. ', 'sb-pack' ); ?>
|
541 |
+
</strong></p>
|
542 |
+
<br>
|
543 |
+
|
544 |
+
</div><!--#image-options-->
|
545 |
+
<div id="support" class="sb-pack-tab">
|
546 |
+
|
547 |
+
<?php
|
548 |
+
if ( ! defined( 'WPINC' ) ) {
|
549 |
+
die;
|
550 |
+
}
|
551 |
+
?>
|
552 |
+
<div class="feature-section sbp-support">
|
553 |
+
<div class="row two-col center-support">
|
554 |
+
|
555 |
+
<h3>
|
556 |
+
<i class="dashicons dashicons-sos" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Contact Support', 'sb-pack' ); ?>
|
557 |
+
</h3>
|
558 |
+
<p>
|
559 |
+
<i><?php esc_html_e( 'We offer support through WordPress.org\'s support forums.', 'sb-pack' ); ?></i>
|
560 |
+
</p>
|
561 |
+
<p>
|
562 |
+
<a target="_blank" class="button button-hero button-primary" href="<?php echo esc_url( 'https://wordpress.org/support/plugin/speed-booster-pack#new-post' ); ?>"><?php esc_html_e( 'Post on our support forums', 'sb-pack' ); ?></a>
|
563 |
+
</p>
|
564 |
+
|
565 |
+
</div>
|
566 |
+
<div class="row">
|
567 |
+
<h2 class="sbp-title">Looking for better WP hosting ?</h2>
|
568 |
+
</div>
|
569 |
+
<div class="row sbp-blog three-col">
|
570 |
+
<div class="col">
|
571 |
+
<h3>
|
572 |
+
<i class="dashicons dashicons-performance" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Our Bluehost Hosting Review', 'sb-pack' ); ?>
|
573 |
+
</h3>
|
574 |
+
<p>
|
575 |
+
<i><?php esc_html_e( 'Despite its popularity, though, Bluehost often carries a negative perception among WordPress professionals. So as we dig into this Bluehost review, we\'ll be looking to figure out whether Bluehost\'s performance and features actually justify that reputation.', 'sb-pack' ); ?></i>
|
576 |
+
</p>
|
577 |
+
<p>
|
578 |
+
<a target="_blank" href="<?php echo esc_url( 'https://www.machothemes.com/blog/bluehost-review/?utm_source=sbp&utm_medium=about-page&utm_campaign=blog-links' ); ?>"><?php esc_html_e( 'Read more', 'sb-pack' ); ?></a>
|
579 |
+
</p>
|
580 |
+
</div><!--/.col-->
|
581 |
+
|
582 |
+
<div class="col">
|
583 |
+
<h3>
|
584 |
+
<i class="dashicons dashicons-performance" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Our InMotion Hosting Review', 'sb-pack' ); ?>
|
585 |
+
</h3>
|
586 |
+
<p>
|
587 |
+
<i><?php esc_html_e( 'InMotion Hosting is a popular independent web host that serves over 300,000 customers. They\'re notably not a part of the EIG behemoth (the parent company behind Bluehost, HostGator, and more), which is a plus in my book.', 'sb-pack' ); ?></i>
|
588 |
+
</p>
|
589 |
+
<p>
|
590 |
+
<a target="_blank" href="<?php echo esc_url( 'https://www.machothemes.com/blog/inmotion-hosting-review/?utm_source=sbp&utm_medium=about-page&utm_campaign=blog-links' ); ?>"><?php esc_html_e( 'Read more', 'sb-pack' ); ?></a>
|
591 |
+
</p>
|
592 |
+
</div><!--/.col-->
|
593 |
+
|
594 |
+
<div class="col">
|
595 |
+
<h3>
|
596 |
+
<i class="dashicons dashicons-performance" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Our A2 Hosting Review', 'sb-pack' ); ?>
|
597 |
+
</h3>
|
598 |
+
<p>
|
599 |
+
<i><?php esc_html_e( 'When it comes to affordable WordPress hosting, A2 Hosting is a name that often comes up in various WordPress groups for offering quick-loading performance that belies its low price tag.', 'sb-pack' ); ?></i>
|
600 |
+
</p>
|
601 |
+
<p>
|
602 |
+
<a target="_blank" href="<?php echo esc_url( 'https://www.machothemes.com/blog/a2-hosting-review/?utm_source=sbp&utm_medium=about-page&utm_campaign=blog-links' ); ?>"><?php esc_html_e( 'Read more', 'sb-pack' ); ?></a>
|
603 |
+
</p>
|
604 |
+
</div><!--/.col-->
|
605 |
+
</div>
|
606 |
+
</div><!--/.feature-section-->
|
607 |
+
|
608 |
+
<div class="col-fulwidth feedback-box">
|
609 |
+
<h3>
|
610 |
+
<?php esc_html_e( 'Lend a hand & share your thoughts', 'sb-pack' ); ?>
|
611 |
+
<img src="<?php echo $this->plugin_url . "inc/images/handshake.png"; ?>">
|
612 |
+
</h3>
|
613 |
+
<p>
|
614 |
+
<?php
|
615 |
+
echo vsprintf( // Translators: 1 is Theme Name, 2 is opening Anchor, 3 is closing.
|
616 |
+
__( 'We\'ve been working hard on making %1$s the best one out there. We\'re interested in hearing your thoughts about %1$s and what we could do to <u>make it even better</u>.<br/> <br/> %2$sHave your say%3$s', 'sb-pack' ), array(
|
617 |
+
'Speed Booster Pack',
|
618 |
+
'<a class="button button-feedback" target="_blank" href="http://bit.ly/feedback-speed-booster-pack">',
|
619 |
+
'</a>',
|
620 |
+
) );
|
621 |
+
?>
|
622 |
+
</p>
|
623 |
+
</div>
|
624 |
+
</div><!--#support-->
|
625 |
+
|
626 |
+
<div class="textright">
|
627 |
+
<hr />
|
628 |
+
<?php submit_button( '', 'button button-primary button-hero' ); ?>
|
629 |
+
</div>
|
630 |
+
|
631 |
+
</form>
|
632 |
+
|
633 |
+
</div><!--/.sb-pack-->
|
634 |
+
</div> <!-- end wrap div -->
|
inc/use-google-libraries.php
CHANGED
@@ -1,21 +1,17 @@
|
|
1 |
<?php
|
2 |
-
/* Use Google Libraries 1.5.2 => Allows your site to use common javascript libraries from Google's AJAX Libraries CDN, rather than from WordPress's own copies. */
|
3 |
-
/* http://jasonpenney.net/wordpress-plugins/use-google-libraries/ */
|
4 |
-
/* Author & copyright (c) 2008-2013 : Jason Penney (email : jpenney@jczorkmid.net ). General Public License v.2.0 */
|
5 |
|
|
|
6 |
|
7 |
-
|
8 |
-
|
9 |
-
class SBP_GoogleLibraries {
|
10 |
|
11 |
protected static $instance;
|
12 |
protected static $plugin_file = __FILE__;
|
13 |
-
protected static $version = '1.
|
14 |
protected static $noconflict_inject = "<script type='text/javascript'>try{jQuery.noConflict();}catch(e){};</script>\n";
|
15 |
|
16 |
public static function get_instance() {
|
17 |
if ( ! isset( self::$instance ) ) {
|
18 |
-
self::$instance = new
|
19 |
}
|
20 |
return self::$instance;
|
21 |
}
|
@@ -77,7 +73,7 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
77 |
*
|
78 |
* @var string
|
79 |
*/
|
80 |
-
protected static $cache_id = '
|
81 |
|
82 |
/**
|
83 |
* transient expiration
|
@@ -131,9 +127,12 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
131 |
'jquery-ui-progressbar' => array( '', '', 'jquery-ui-core' ),
|
132 |
'jquery-ui-resizable' => array( '', '', 'jquery-ui-core' ),
|
133 |
'jquery-ui-selectable' => array( '', '', 'jquery-ui-core' ),
|
|
|
134 |
'jquery-ui-slider' => array( '', '', 'jquery-ui-core' ),
|
135 |
'jquery-ui-sortable' => array( '', '', 'jquery-ui-core' ),
|
|
|
136 |
'jquery-ui-tabs' => array( '', '', 'jquery-ui-core' ),
|
|
|
137 |
'jquery-ui-widget' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.8 */
|
138 |
|
139 |
/* jQuery Effects */
|
@@ -146,9 +145,11 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
146 |
'jquery-effects-fade' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.8 */
|
147 |
'jquery-effects-fold' => array( '', '', 'jquery-ui-core' ),
|
148 |
'jquery-effects-highlight' => array( '', '', 'jquery-ui-core' ),
|
|
|
149 |
'jquery-effects-pulsate' => array( '', '', 'jquery-ui-core' ),
|
150 |
'jquery-effects-scale' => array( '', '', 'jquery-ui-core' ),
|
151 |
'jquery-effects-shake' => array( '', '', 'jquery-ui-core' ),
|
|
|
152 |
'jquery-effects-slide' => array( '', '', 'jquery-ui-core' ),
|
153 |
'jquery-effects-transfer' => array( '', '', 'jquery-ui-core' ),
|
154 |
|
@@ -188,7 +189,7 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
188 |
$this->jquery_tag = 'jquery';
|
189 |
$this->google_scripts = self::$default_google_scripts;
|
190 |
|
191 |
-
$this->noconflict_next =
|
192 |
// protocol-relative URLS accepted by `wp_register_scripts`
|
193 |
// starting with version 3.5
|
194 |
$this->protocol_relative_supported = version_compare(
|
@@ -197,22 +198,23 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
197 |
}
|
198 |
|
199 |
static function configure_plugin() {
|
|
|
200 |
add_action(
|
201 |
'wp_default_scripts',
|
202 |
array(
|
203 |
-
'
|
204 |
'replace_default_scripts_action',
|
205 |
),
|
206 |
1000
|
207 |
);
|
208 |
add_filter(
|
209 |
'script_loader_src',
|
210 |
-
array( '
|
211 |
1000
|
212 |
);
|
213 |
add_filter(
|
214 |
'init',
|
215 |
-
array( '
|
216 |
);
|
217 |
|
218 |
// There's a chance some plugin has called wp_enqueue_script
|
@@ -303,13 +305,14 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
303 |
if ( $lib != '' ) {
|
304 |
// build new URL
|
305 |
$url = "//ajax.googleapis.com/ajax/libs/$lib/$ver/$js.js";
|
306 |
-
$
|
|
|
307 |
if ( wp_remote_retrieve_response_code( $head ) !== 200 ) {
|
308 |
self::debug( "Google servers do not seem to be hosting requested version of $name (version $ver). Using version provided by WordPress." );
|
309 |
return $orig_url;
|
310 |
}
|
311 |
if ( ! $this->protocol_relative_supported ) {
|
312 |
-
return
|
313 |
}
|
314 |
return $url;
|
315 |
} else {
|
@@ -447,17 +450,21 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
447 |
|
448 |
function wp_dependency_get_data( $dep_obj, $handle, $data_name = false ) {
|
449 |
|
450 |
-
if ( ! method_exists( $dep_obj, 'add_data' ) )
|
451 |
return false;
|
|
|
452 |
|
453 |
-
if ( ! isset( $dep_obj->registered[$handle] ) )
|
454 |
return false;
|
|
|
455 |
|
456 |
-
if ( ! $data_name )
|
457 |
-
return $dep_obj->registered[$handle]->extra;
|
|
|
458 |
|
459 |
-
if ( ! method_exists( $dep_obj, 'get_data' ) )
|
460 |
-
return $dep_obj->registered[$handle]->extra[$data_name];
|
|
|
461 |
|
462 |
return $dep_obj->get_data( $handle, $data_name );
|
463 |
}
|
@@ -472,13 +479,13 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
472 |
*/
|
473 |
function remove_ver_query( $src ) {
|
474 |
if ( $this->noconflict_next ) {
|
475 |
-
$this->noconflict_next =
|
476 |
echo self::$noconflict_inject; // xss ok
|
477 |
}
|
478 |
if ( preg_match( '/ajax\.googleapis\.com\//', $src ) ) {
|
479 |
$src = remove_query_arg( 'ver', $src );
|
480 |
-
if ( strpos( $src, $this->google_scripts[$this->jquery_tag][1] . '.js' ) ) {
|
481 |
-
$this->noconflict_next =
|
482 |
}
|
483 |
}
|
484 |
return $src;
|
@@ -489,4 +496,9 @@ if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
|
489 |
return $ugl->remove_ver_query( $src );
|
490 |
}
|
491 |
}
|
492 |
-
}
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
|
3 |
+
if ( ! class_exists( 'JCP_UseGoogleLibraries' ) ) {
|
4 |
|
5 |
+
class JCP_UseGoogleLibraries {
|
|
|
|
|
6 |
|
7 |
protected static $instance;
|
8 |
protected static $plugin_file = __FILE__;
|
9 |
+
protected static $version = '1.6.2.3';
|
10 |
protected static $noconflict_inject = "<script type='text/javascript'>try{jQuery.noConflict();}catch(e){};</script>\n";
|
11 |
|
12 |
public static function get_instance() {
|
13 |
if ( ! isset( self::$instance ) ) {
|
14 |
+
self::$instance = new JCP_UseGoogleLibraries();
|
15 |
}
|
16 |
return self::$instance;
|
17 |
}
|
73 |
*
|
74 |
* @var string
|
75 |
*/
|
76 |
+
protected static $cache_id = 'JCP_UseGoogleLibraries_cache';
|
77 |
|
78 |
/**
|
79 |
* transient expiration
|
127 |
'jquery-ui-progressbar' => array( '', '', 'jquery-ui-core' ),
|
128 |
'jquery-ui-resizable' => array( '', '', 'jquery-ui-core' ),
|
129 |
'jquery-ui-selectable' => array( '', '', 'jquery-ui-core' ),
|
130 |
+
'jquery-ui-selectmenu' => array( '', '', 'jquery-ui-core' ),/* jQuery UI 1.11 */
|
131 |
'jquery-ui-slider' => array( '', '', 'jquery-ui-core' ),
|
132 |
'jquery-ui-sortable' => array( '', '', 'jquery-ui-core' ),
|
133 |
+
'jquery-ui-spinner' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.11 */
|
134 |
'jquery-ui-tabs' => array( '', '', 'jquery-ui-core' ),
|
135 |
+
'jquery-ui-tooltip' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.11 */
|
136 |
'jquery-ui-widget' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.8 */
|
137 |
|
138 |
/* jQuery Effects */
|
145 |
'jquery-effects-fade' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.8 */
|
146 |
'jquery-effects-fold' => array( '', '', 'jquery-ui-core' ),
|
147 |
'jquery-effects-highlight' => array( '', '', 'jquery-ui-core' ),
|
148 |
+
'jquery-effects-puff' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.11 */
|
149 |
'jquery-effects-pulsate' => array( '', '', 'jquery-ui-core' ),
|
150 |
'jquery-effects-scale' => array( '', '', 'jquery-ui-core' ),
|
151 |
'jquery-effects-shake' => array( '', '', 'jquery-ui-core' ),
|
152 |
+
'jquery-effects-size' => array( '', '', 'jquery-ui-core' ), /* jQuery UI 1.11 */
|
153 |
'jquery-effects-slide' => array( '', '', 'jquery-ui-core' ),
|
154 |
'jquery-effects-transfer' => array( '', '', 'jquery-ui-core' ),
|
155 |
|
189 |
$this->jquery_tag = 'jquery';
|
190 |
$this->google_scripts = self::$default_google_scripts;
|
191 |
|
192 |
+
$this->noconflict_next = false;
|
193 |
// protocol-relative URLS accepted by `wp_register_scripts`
|
194 |
// starting with version 3.5
|
195 |
$this->protocol_relative_supported = version_compare(
|
198 |
}
|
199 |
|
200 |
static function configure_plugin() {
|
201 |
+
|
202 |
add_action(
|
203 |
'wp_default_scripts',
|
204 |
array(
|
205 |
+
'JCP_UseGoogleLibraries',
|
206 |
'replace_default_scripts_action',
|
207 |
),
|
208 |
1000
|
209 |
);
|
210 |
add_filter(
|
211 |
'script_loader_src',
|
212 |
+
array( 'JCP_UseGoogleLibraries', 'remove_ver_query_filter' ),
|
213 |
1000
|
214 |
);
|
215 |
add_filter(
|
216 |
'init',
|
217 |
+
array( 'JCP_UseGoogleLibraries', 'setup_filter' )
|
218 |
);
|
219 |
|
220 |
// There's a chance some plugin has called wp_enqueue_script
|
305 |
if ( $lib != '' ) {
|
306 |
// build new URL
|
307 |
$url = "//ajax.googleapis.com/ajax/libs/$lib/$ver/$js.js";
|
308 |
+
$proto_url = "http:$url";
|
309 |
+
$head = wp_remote_head( $proto_url );
|
310 |
if ( wp_remote_retrieve_response_code( $head ) !== 200 ) {
|
311 |
self::debug( "Google servers do not seem to be hosting requested version of $name (version $ver). Using version provided by WordPress." );
|
312 |
return $orig_url;
|
313 |
}
|
314 |
if ( ! $this->protocol_relative_supported ) {
|
315 |
+
return $proto_url;
|
316 |
}
|
317 |
return $url;
|
318 |
} else {
|
450 |
|
451 |
function wp_dependency_get_data( $dep_obj, $handle, $data_name = false ) {
|
452 |
|
453 |
+
if ( ! method_exists( $dep_obj, 'add_data' ) ) {
|
454 |
return false;
|
455 |
+
}
|
456 |
|
457 |
+
if ( ! isset( $dep_obj->registered[ $handle ] ) ) {
|
458 |
return false;
|
459 |
+
}
|
460 |
|
461 |
+
if ( ! $data_name ) {
|
462 |
+
return $dep_obj->registered[ $handle ]->extra;
|
463 |
+
}
|
464 |
|
465 |
+
if ( ! method_exists( $dep_obj, 'get_data' ) ) {
|
466 |
+
return $dep_obj->registered[ $handle ]->extra[ $data_name ];
|
467 |
+
}
|
468 |
|
469 |
return $dep_obj->get_data( $handle, $data_name );
|
470 |
}
|
479 |
*/
|
480 |
function remove_ver_query( $src ) {
|
481 |
if ( $this->noconflict_next ) {
|
482 |
+
$this->noconflict_next = false;
|
483 |
echo self::$noconflict_inject; // xss ok
|
484 |
}
|
485 |
if ( preg_match( '/ajax\.googleapis\.com\//', $src ) ) {
|
486 |
$src = remove_query_arg( 'ver', $src );
|
487 |
+
if ( strpos( $src, $this->google_scripts[ $this->jquery_tag ][1] . '.js' ) ) {
|
488 |
+
$this->noconflict_next = true;
|
489 |
}
|
490 |
}
|
491 |
return $src;
|
496 |
return $ugl->remove_ver_query( $src );
|
497 |
}
|
498 |
}
|
499 |
+
}
|
500 |
+
|
501 |
+
//instantiate the class
|
502 |
+
if ( class_exists( 'JCP_UseGoogleLibraries' ) ) {
|
503 |
+
JCP_UseGoogleLibraries::configure_plugin();
|
504 |
+
}
|
lang/es_ES.mo
DELETED
Binary file
|
lang/es_ES.po
DELETED
@@ -1,372 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
4 |
-
"Content-Transfer-Encoding: 8bit\n"
|
5 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
6 |
-
"Project-Id-Version: Speed Booster Pack\n"
|
7 |
-
"POT-Creation-Date: \n"
|
8 |
-
"PO-Revision-Date: \n"
|
9 |
-
"Last-Translator: jelena kovacevic <jecajeca260@gmail.com>\n"
|
10 |
-
"Language-Team: Tiguandesign.com <tiguan@tiguandesign.com>\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Language: en\n"
|
13 |
-
"X-Generator: Poedit 1.5.5\n"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
-
"X-Poedit-Basepath: .\n"
|
17 |
-
"X-Poedit-SearchPath-0: ..\n"
|
18 |
-
"X-Poedit-SearchPath-1: ...\n"
|
19 |
-
|
20 |
-
#. Text in echo
|
21 |
-
#: speed-booster-pack/inc/template/options.php:399
|
22 |
-
msgid " with guidelines to enhance your website performance."
|
23 |
-
msgstr "con directrices para mejorar el rendimiento de su sitio web.."
|
24 |
-
|
25 |
-
#. Text in echo
|
26 |
-
#: speed-booster-pack/inc/template/options.php:360
|
27 |
-
msgid "*The list may be incomplete in some circumstances."
|
28 |
-
msgstr "* La lista puede ser incompleta en algunas circunstancias"
|
29 |
-
|
30 |
-
#. Text in echo
|
31 |
-
#: speed-booster-pack/inc/template/options.php:132
|
32 |
-
msgid "Active Plugins:"
|
33 |
-
msgstr "Plugins activos:"
|
34 |
-
|
35 |
-
#. Text in echo
|
36 |
-
#: speed-booster-pack/inc/template/options.php:367
|
37 |
-
msgid "Additional information:"
|
38 |
-
msgstr "Información adicional:"
|
39 |
-
|
40 |
-
#. Text in echo
|
41 |
-
#: speed-booster-pack/inc/template/options.php:342
|
42 |
-
msgid ""
|
43 |
-
"As a guidance, here is a list of css handles of each enqueued style detected "
|
44 |
-
"by our plugin:"
|
45 |
-
msgstr ""
|
46 |
-
"Como guía, aquí está una lista de los handles css de cada estilo en cola "
|
47 |
-
"detectado por nuestro plugin:"
|
48 |
-
|
49 |
-
#. Text in echo
|
50 |
-
#: speed-booster-pack/inc/template/options.php:200
|
51 |
-
msgid ""
|
52 |
-
"As a guidance, here is a list of script handles and script paths of each "
|
53 |
-
"enqueued script detected by our plugin:"
|
54 |
-
msgstr ""
|
55 |
-
"Como guía, aquí está una lista de handles de script y rutas de script de "
|
56 |
-
"cada secuencia de comandos en cola detectado por nuestro plugin:"
|
57 |
-
|
58 |
-
#. Text in echo
|
59 |
-
#: speed-booster-pack/inc/template/options.php:19
|
60 |
-
msgid "Boost Your Website Speed!"
|
61 |
-
msgstr "¡Aumente la velocidad de su Sitio Web!"
|
62 |
-
|
63 |
-
#. Text in echo
|
64 |
-
#: speed-booster-pack/inc/template/options.php:348
|
65 |
-
msgid "CSS Handle"
|
66 |
-
msgstr "Handle CSS"
|
67 |
-
|
68 |
-
#. Text in echo
|
69 |
-
#: speed-booster-pack/inc/template/options.php:265
|
70 |
-
msgid "Change the default image compression level"
|
71 |
-
msgstr "Cambiar el nivel de compresión de imágenes"
|
72 |
-
|
73 |
-
#. Text in echo
|
74 |
-
#: speed-booster-pack/inc/template/options.php:277
|
75 |
-
msgid "Compression level:"
|
76 |
-
msgstr "Nivel de compresión:"
|
77 |
-
|
78 |
-
#. Text in echo
|
79 |
-
#: speed-booster-pack/inc/template/options.php:172
|
80 |
-
msgid "Copy the HTML code of the script from your page source and add it below"
|
81 |
-
msgstr ""
|
82 |
-
"Copie el código HTML del script de la fuente de su página y añádalo a "
|
83 |
-
"continuación"
|
84 |
-
|
85 |
-
#. Text in echo
|
86 |
-
#: speed-booster-pack/inc/template/options.php:45
|
87 |
-
msgid "Defer parsing of javascript files"
|
88 |
-
msgstr "Aplazar análisis de archivos javascript"
|
89 |
-
|
90 |
-
#. Text in echo
|
91 |
-
#: speed-booster-pack/inc/template/options.php:325
|
92 |
-
msgid "Disable all above CSS options on mobile devices"
|
93 |
-
msgstr "Desactivar todas las opciones CSS de arriba en dispositivos móviles"
|
94 |
-
|
95 |
-
#. Text in echo
|
96 |
-
#: speed-booster-pack/inc/template/options.php:333
|
97 |
-
msgid ""
|
98 |
-
"Enter one by line, the handles of css files or the final part of the style "
|
99 |
-
"URL. For example: <code>font-awesome</code> or <code>font-awesome.min.css</"
|
100 |
-
"code>"
|
101 |
-
msgstr ""
|
102 |
-
"Introduzca uno por línea, los handles de los archivos CSS o la parte final "
|
103 |
-
"de la URL del estilo. Por ejemplo: <code>-font awesome </code> o <code> font-"
|
104 |
-
"awesome.min.css </code>"
|
105 |
-
|
106 |
-
#. Text in echo
|
107 |
-
#: speed-booster-pack/inc/template/options.php:257
|
108 |
-
msgid ""
|
109 |
-
"Enter one by text field, the final part of the js files that you want to be "
|
110 |
-
"excluded from defer parsing option. For example: <code>jquery.min.js</code> "
|
111 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
112 |
-
"therefore the use of \"Defer parsing of javascript files\" option will "
|
113 |
-
"become useless so you can disable it"
|
114 |
-
msgstr ""
|
115 |
-
"Introduzca uno por campo de texto, la parte final de los archivos js que "
|
116 |
-
"desea que sea excluido de la opción del análisis defer. Por ejemplo: <code> "
|
117 |
-
"jquery.min.js </code> Si desea excluir más de 4 scripts, el puntaje de su "
|
118 |
-
"página se verá afectado y por lo tanto el uso de la opción \"Análisis defer "
|
119 |
-
"de archivos javascript\" se convertirá en inútil por lo que puede "
|
120 |
-
"desactivarla"
|
121 |
-
|
122 |
-
#. Text in echo
|
123 |
-
#: speed-booster-pack/inc/template/options.php:195
|
124 |
-
msgid ""
|
125 |
-
"Enter one js handle per text field, in the left area and the corespondent "
|
126 |
-
"html script in the right text fields."
|
127 |
-
msgstr ""
|
128 |
-
"Introduzca un handle js por campo de texto, en la parte izquierda y la "
|
129 |
-
"secuencia de comandos HTML correspondiente en los campos de texto adecuados."
|
130 |
-
|
131 |
-
#. Text in echo
|
132 |
-
#: speed-booster-pack/inc/template/options.php:233
|
133 |
-
msgid "Exclude scripts from being deferred"
|
134 |
-
msgstr "Excluir scripts de ser diferidos"
|
135 |
-
|
136 |
-
#. Text in echo
|
137 |
-
#: speed-booster-pack/inc/template/options.php:143
|
138 |
-
msgid "Exclude scripts from being moved to the footer"
|
139 |
-
msgstr "Excluir scripts de ser trasladado al pie de página"
|
140 |
-
|
141 |
-
#. Text in echo
|
142 |
-
#: speed-booster-pack/inc/template/options.php:330
|
143 |
-
msgid "Exclude styles from asynchronously option: "
|
144 |
-
msgstr "Excluir estilos de opción de forma asíncrona:"
|
145 |
-
|
146 |
-
#. Text in echo
|
147 |
-
#: speed-booster-pack/inc/template/options.php:23
|
148 |
-
msgid "General options"
|
149 |
-
msgstr "Opciones generales"
|
150 |
-
|
151 |
-
#. Text in echo
|
152 |
-
#: speed-booster-pack/inc/template/options.php:104
|
153 |
-
msgid "Home Page Load Stats"
|
154 |
-
msgstr "Página de inicio Carga Estadísticas"
|
155 |
-
|
156 |
-
#. Text in echo
|
157 |
-
#: speed-booster-pack/inc/template/options.php:195
|
158 |
-
msgid ""
|
159 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
160 |
-
"therefore the use of \"Move scripts to footer\" option will become useless "
|
161 |
-
"so you can disable it."
|
162 |
-
msgstr ""
|
163 |
-
"Si desea excluir más de 4 scripts, el puntaje de su página se verá afectado "
|
164 |
-
"y por lo tanto el uso de la opción \"Mover scripts a pie de página\" se "
|
165 |
-
"convertirá en inútil por lo que puede desactivarla."
|
166 |
-
|
167 |
-
#. Text in echo
|
168 |
-
#: speed-booster-pack/inc/template/options.php:320
|
169 |
-
msgid "Insert all CSS styles inline to the footer"
|
170 |
-
msgstr "Inserte todos los estilos CSS en línea al pie de página"
|
171 |
-
|
172 |
-
#. Text in echo
|
173 |
-
#: speed-booster-pack/inc/template/options.php:368
|
174 |
-
msgid "Insert all CSS styles inline to the footer: "
|
175 |
-
msgstr "Insertar todos los estilos CSS en línea al pie de página:"
|
176 |
-
|
177 |
-
#. Text in echo
|
178 |
-
#: speed-booster-pack/inc/template/options.php:416
|
179 |
-
msgid "Installed Version:"
|
180 |
-
msgstr "Versión instalada:"
|
181 |
-
|
182 |
-
#. Text in echo
|
183 |
-
#: speed-booster-pack/inc/template/options.php:55
|
184 |
-
msgid "Lazy load images to improve speed"
|
185 |
-
msgstr "Cargar imágenes Lazy para mejorar la velocidad"
|
186 |
-
|
187 |
-
#. Text in echo
|
188 |
-
#: speed-booster-pack/inc/template/options.php:305
|
189 |
-
msgid "Load CSS asynchronously"
|
190 |
-
msgstr "Cargar CSS de forma asíncrona"
|
191 |
-
|
192 |
-
#. Text in echo
|
193 |
-
#: speed-booster-pack/inc/template/options.php:40
|
194 |
-
msgid "Load JS from Google Libraries"
|
195 |
-
msgstr "Cargar JS desde Bibliotecas Google"
|
196 |
-
|
197 |
-
#. Text in echo
|
198 |
-
#: speed-booster-pack/inc/template/options.php:31
|
199 |
-
msgid "Main plugin options"
|
200 |
-
msgstr "Opciones Principales del plugin"
|
201 |
-
|
202 |
-
#. Text in echo
|
203 |
-
#: speed-booster-pack/inc/template/options.php:313
|
204 |
-
msgid "Minify all CSS styles"
|
205 |
-
msgstr "Minimizar todos los estilos CSS"
|
206 |
-
|
207 |
-
#. Text in echo
|
208 |
-
#: speed-booster-pack/inc/template/options.php:35
|
209 |
-
msgid "Move scripts to the footer"
|
210 |
-
msgstr "Mover scripts al pie de página"
|
211 |
-
|
212 |
-
#. Text in echo
|
213 |
-
#: speed-booster-pack/inc/template/options.php:289
|
214 |
-
msgid ""
|
215 |
-
"Note that any changes you make will only affect new images uploaded to your "
|
216 |
-
"site. If you want to update all of your images with the new sizes, install "
|
217 |
-
"and run the Regenerate Thumbnails plugin. As a reference, a lower level of "
|
218 |
-
"compression means more performance. We recommend you choose a compression "
|
219 |
-
"level between 50 and 75."
|
220 |
-
msgstr ""
|
221 |
-
"Tenga en cuenta que los cambios que realice sólo afectarán a las nuevas "
|
222 |
-
"imágenes subidas a su sitio. Si desea actualizar todas sus imágenes con los "
|
223 |
-
"nuevos tamaños, instale y ejecute el plugin Regenerar miniaturas. Como "
|
224 |
-
"referencia, un menor nivel de compresión significa más rendimiento. Le "
|
225 |
-
"recomendamos que escoja un nivel de compresión entre 50 y 75."
|
226 |
-
|
227 |
-
#. Text in echo
|
228 |
-
#: speed-booster-pack/inc/template/options.php:118
|
229 |
-
msgid "Number of executed queries:"
|
230 |
-
msgstr "Número de consultas ejecutadas:"
|
231 |
-
|
232 |
-
#. Text in echo
|
233 |
-
#: speed-booster-pack/inc/template/options.php:106
|
234 |
-
msgid "Page loading time in seconds:"
|
235 |
-
msgstr "Tiempo de carga de página en segundos:"
|
236 |
-
|
237 |
-
#. Text in echo
|
238 |
-
#: speed-booster-pack/inc/template/options.php:131
|
239 |
-
msgid "Peak Memory Used:"
|
240 |
-
msgstr "Memoria pico utilizada:"
|
241 |
-
|
242 |
-
#. Text in echo
|
243 |
-
#: speed-booster-pack/inc/template/options.php:195
|
244 |
-
msgid "Read more"
|
245 |
-
msgstr "Leer más"
|
246 |
-
|
247 |
-
#. Text in echo
|
248 |
-
#: speed-booster-pack/inc/template/options.php:399
|
249 |
-
msgid "Read online plugin documentation"
|
250 |
-
msgstr "Leer la documentación en línea del plugin"
|
251 |
-
|
252 |
-
#. Text in echo
|
253 |
-
#: speed-booster-pack/inc/template/options.php:423
|
254 |
-
msgid "Released date:"
|
255 |
-
msgstr "Fecha de lanzamiento:"
|
256 |
-
|
257 |
-
#. Text in echo
|
258 |
-
#: speed-booster-pack/inc/template/options.php:81
|
259 |
-
msgid "Remove Adjacent Posts Links"
|
260 |
-
msgstr "Quitar Enlaces de Mensajes Adyacentes"
|
261 |
-
|
262 |
-
#. Text in echo
|
263 |
-
#: speed-booster-pack/inc/template/options.php:71
|
264 |
-
msgid "Remove RSD Link"
|
265 |
-
msgstr "Eliminar Enlace RSD"
|
266 |
-
|
267 |
-
#. Text in echo
|
268 |
-
#: speed-booster-pack/inc/template/options.php:86
|
269 |
-
msgid "Remove Windows Manifest"
|
270 |
-
msgstr "Eliminar Manifiesto Windows"
|
271 |
-
|
272 |
-
#. Text in echo
|
273 |
-
#: speed-booster-pack/inc/template/options.php:76
|
274 |
-
msgid "Remove WordPress Shortlink"
|
275 |
-
msgstr "Eliminar Shortlink WordPress"
|
276 |
-
|
277 |
-
#. Text in echo
|
278 |
-
#: speed-booster-pack/inc/template/options.php:96
|
279 |
-
msgid "Remove all rss feed links"
|
280 |
-
msgstr "Quitar todos los enlaces rss feed"
|
281 |
-
|
282 |
-
#. Text in echo
|
283 |
-
#: speed-booster-pack/inc/template/options.php:67
|
284 |
-
msgid "Remove junk header tags"
|
285 |
-
msgstr "Eliminar encabezados basura"
|
286 |
-
|
287 |
-
#. Text in echo
|
288 |
-
#: speed-booster-pack/inc/template/options.php:50
|
289 |
-
msgid "Remove query strings"
|
290 |
-
msgstr "Retirar las cadenas de consulta"
|
291 |
-
|
292 |
-
#. Text in echo
|
293 |
-
#: speed-booster-pack/inc/template/options.php:91
|
294 |
-
msgid "Remove the WordPress Version"
|
295 |
-
msgstr "Eiminar la versión WordPress"
|
296 |
-
|
297 |
-
#. Text in echo
|
298 |
-
#: speed-booster-pack/inc/template/options.php:60
|
299 |
-
msgid "Removes extra Font Awesome styles"
|
300 |
-
msgstr "Eliminar estilos de Font Awesome adicionales"
|
301 |
-
|
302 |
-
#. Text in echo
|
303 |
-
#: speed-booster-pack/inc/template/options.php:149
|
304 |
-
#: speed-booster-pack/inc/template/options.php:206
|
305 |
-
msgid "Script Handle"
|
306 |
-
msgstr "Handle de Script"
|
307 |
-
|
308 |
-
#. Text in echo
|
309 |
-
#: speed-booster-pack/inc/template/options.php:207
|
310 |
-
msgid "Script Path"
|
311 |
-
msgstr "Ruta del script"
|
312 |
-
|
313 |
-
#. Text in echo
|
314 |
-
#: speed-booster-pack/inc/template/options.php:299
|
315 |
-
msgid "Still need more speed?"
|
316 |
-
msgstr "¿Todavía necesita más velocidad?"
|
317 |
-
|
318 |
-
#. Text in echo
|
319 |
-
#: speed-booster-pack/inc/template/options.php:286
|
320 |
-
msgid ""
|
321 |
-
"The default image compression setting in WordPress is 90%. Compressing your "
|
322 |
-
"images further than the default will make your file sizes even smaller and "
|
323 |
-
"will boost your site performance."
|
324 |
-
msgstr ""
|
325 |
-
"El ajuste de compresión de imagen por defecto de WordPress es del 90%. La "
|
326 |
-
"compresión de imágenes más allá del de por defecto hará los tamaños de "
|
327 |
-
"archivos aún más pequeños y aumentará el rendimiento de su sitio."
|
328 |
-
|
329 |
-
#. Text in echo
|
330 |
-
#: speed-booster-pack/inc/template/options.php:405
|
331 |
-
msgid "Version Information"
|
332 |
-
msgstr "Información de la versión"
|
333 |
-
|
334 |
-
#. Text in echo
|
335 |
-
#: speed-booster-pack/inc/template/options.php:389
|
336 |
-
msgid "What do these settings mean?"
|
337 |
-
msgstr "¿Qué significan estos ajustes?"
|
338 |
-
|
339 |
-
#. Text in echo
|
340 |
-
#: speed-booster-pack/inc/template/options.php:195
|
341 |
-
msgid "detailed instructions"
|
342 |
-
msgstr "Instrucciones detalladas"
|
343 |
-
|
344 |
-
#. Text in echo
|
345 |
-
#: speed-booster-pack/inc/template/options.php:195
|
346 |
-
msgid "on this option on plugin documentation."
|
347 |
-
msgstr "sobre esta opción en la documentación del plugin."
|
348 |
-
|
349 |
-
#. Text in echo
|
350 |
-
#: speed-booster-pack/inc/template/options.php:126
|
351 |
-
msgid "q"
|
352 |
-
msgstr "Q"
|
353 |
-
|
354 |
-
#. Text in echo
|
355 |
-
#: speed-booster-pack/inc/template/options.php:114
|
356 |
-
msgid "s"
|
357 |
-
msgstr "S"
|
358 |
-
|
359 |
-
#. Text in echo
|
360 |
-
#: speed-booster-pack/inc/template/options.php:368
|
361 |
-
msgid ""
|
362 |
-
"this option will eliminate render-blocking CSS warning in Google Page Speed "
|
363 |
-
"test. If there is something broken after activation, you need to disable "
|
364 |
-
"this option. Please note that before enabling this sensitive option, it is "
|
365 |
-
"strongly recommended that you also enable the \"Move scripts to the footer\" "
|
366 |
-
"option."
|
367 |
-
msgstr ""
|
368 |
-
"esta opción eliminará render de bloqueo de advertencia CSS en la prueba de "
|
369 |
-
"Velocidad de Página Google Page. Si hay algo que falle después de la "
|
370 |
-
"activación, es necesario deshabilitar esta opción. Tenga en cuenta que antes "
|
371 |
-
"de habilitar esta opción sensible, se recomienda encarecidamente que también "
|
372 |
-
"habilite la opción \"Mover scripts al pie de página\"."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/ro_RO.mo
DELETED
Binary file
|
lang/ro_RO.po
DELETED
@@ -1,374 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
4 |
-
"Content-Transfer-Encoding: 8bit\n"
|
5 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
6 |
-
"Project-Id-Version: Speed Booster Pack\n"
|
7 |
-
"POT-Creation-Date: \n"
|
8 |
-
"PO-Revision-Date: \n"
|
9 |
-
"Last-Translator: Liviu Costache <tiguan@tiguandesign.com>\n"
|
10 |
-
"Language-Team: Tiguandesign.com <tiguan@tiguandesign.com>\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Language: en\n"
|
13 |
-
"X-Generator: Poedit 1.6.7\n"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
-
"X-Poedit-Basepath: .\n"
|
17 |
-
"X-Poedit-SearchPath-0: ..\n"
|
18 |
-
"X-Poedit-SearchPath-1: ...\n"
|
19 |
-
|
20 |
-
#. Text in echo
|
21 |
-
#: speed-booster-pack/inc/template/options.php:399
|
22 |
-
msgid " with guidelines to enhance your website performance."
|
23 |
-
msgstr "care conţine îndrumari pentru a îmbunătăți performanța site-ul tău."
|
24 |
-
|
25 |
-
#. Text in echo
|
26 |
-
#: speed-booster-pack/inc/template/options.php:360
|
27 |
-
msgid "*The list may be incomplete in some circumstances."
|
28 |
-
msgstr "* Lista poate fi incompletă în anumite circumstanțe."
|
29 |
-
|
30 |
-
#. Text in echo
|
31 |
-
#: speed-booster-pack/inc/template/options.php:132
|
32 |
-
msgid "Active Plugins:"
|
33 |
-
msgstr "Pluginuri Active:"
|
34 |
-
|
35 |
-
#. Text in echo
|
36 |
-
#: speed-booster-pack/inc/template/options.php:367
|
37 |
-
msgid "Additional information:"
|
38 |
-
msgstr "Informaţii suplimentare:"
|
39 |
-
|
40 |
-
#. Text in echo
|
41 |
-
#: speed-booster-pack/inc/template/options.php:342
|
42 |
-
msgid ""
|
43 |
-
"As a guidance, here is a list of css handles of each enqueued style detected "
|
44 |
-
"by our plugin:"
|
45 |
-
msgstr ""
|
46 |
-
"Orientativ, aici este o listă cu toate handle-urile CSS detectate de "
|
47 |
-
"pluginul nostru:"
|
48 |
-
|
49 |
-
#. Text in echo
|
50 |
-
#: speed-booster-pack/inc/template/options.php:200
|
51 |
-
msgid ""
|
52 |
-
"As a guidance, here is a list of script handles and script paths of each "
|
53 |
-
"enqueued script detected by our plugin:"
|
54 |
-
msgstr ""
|
55 |
-
"Orientativ, aici este o listă cu toate handle-urile JS si calea acestora, "
|
56 |
-
"detectate de pluginul nostru:"
|
57 |
-
|
58 |
-
#. Text in echo
|
59 |
-
#: speed-booster-pack/inc/template/options.php:19
|
60 |
-
msgid "Boost Your Website Speed!"
|
61 |
-
msgstr "Sporeşte-ţi viteza site-ului!"
|
62 |
-
|
63 |
-
#. Text in echo
|
64 |
-
#: speed-booster-pack/inc/template/options.php:348
|
65 |
-
msgid "CSS Handle"
|
66 |
-
msgstr "Handle pentru CSS"
|
67 |
-
|
68 |
-
#. Text in echo
|
69 |
-
#: speed-booster-pack/inc/template/options.php:265
|
70 |
-
msgid "Change the default image compression level"
|
71 |
-
msgstr "Schimbă nivelul de compresie al imaginilor"
|
72 |
-
|
73 |
-
#. Text in echo
|
74 |
-
#: speed-booster-pack/inc/template/options.php:277
|
75 |
-
msgid "Compression level:"
|
76 |
-
msgstr "Nivelul de compresie:"
|
77 |
-
|
78 |
-
#. Text in echo
|
79 |
-
#: speed-booster-pack/inc/template/options.php:172
|
80 |
-
msgid "Copy the HTML code of the script from your page source and add it below"
|
81 |
-
msgstr ""
|
82 |
-
"Copiaţi codul HTML al script-ului din sursa paginii, şi adăugaţi-l mai jos"
|
83 |
-
|
84 |
-
#. Text in echo
|
85 |
-
#: speed-booster-pack/inc/template/options.php:45
|
86 |
-
msgid "Defer parsing of javascript files"
|
87 |
-
msgstr "Amână analizarea fişierelor javascript"
|
88 |
-
|
89 |
-
#. Text in echo
|
90 |
-
#: speed-booster-pack/inc/template/options.php:325
|
91 |
-
msgid "Disable all above CSS options on mobile devices"
|
92 |
-
msgstr ""
|
93 |
-
"Dezactivează toate opţiunile CSS de mai sus pentru dispozitivele mobile"
|
94 |
-
|
95 |
-
#. Text in echo
|
96 |
-
#: speed-booster-pack/inc/template/options.php:333
|
97 |
-
msgid ""
|
98 |
-
"Enter one by line, the handles of css files or the final part of the style "
|
99 |
-
"URL. For example: <code>font-awesome</code> or <code>font-awesome.min.css</"
|
100 |
-
"code>"
|
101 |
-
msgstr ""
|
102 |
-
"Introdu câte una pe linie, denumirile fişierelor CSS sau partea finală a URL-"
|
103 |
-
"ului acestora. De exemplu: <code>font-awesome</code> sau <code>font-awesome."
|
104 |
-
"min.css</code>"
|
105 |
-
|
106 |
-
#. Text in echo
|
107 |
-
#: speed-booster-pack/inc/template/options.php:257
|
108 |
-
msgid ""
|
109 |
-
"Enter one by text field, the final part of the js files that you want to be "
|
110 |
-
"excluded from defer parsing option. For example: <code>jquery.min.js</code> "
|
111 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
112 |
-
"therefore the use of \"Defer parsing of javascript files\" option will "
|
113 |
-
"become useless so you can disable it"
|
114 |
-
msgstr ""
|
115 |
-
"Introdu câte una pe linie, partea finală a fişierelor JS pe care vrei să le "
|
116 |
-
"excluzi de la opţiunea \"Amână analizarea fişierelor javascript\" De "
|
117 |
-
"exemplu: <code>jquery.min.js</code> Dacă doreşti să excluzi mai mult de 4 "
|
118 |
-
"script-uri, scorul pagini va avea de suferit şi, prin urmare, utilizarea "
|
119 |
-
"opţiunii \"Amână analizarea fişierelor javascript \" va deveni inutilă, şi "
|
120 |
-
"o poţi dezactiva."
|
121 |
-
|
122 |
-
#. Text in echo
|
123 |
-
#: speed-booster-pack/inc/template/options.php:195
|
124 |
-
msgid ""
|
125 |
-
"Enter one js handle per text field, in the left area and the corespondent "
|
126 |
-
"html script in the right text fields."
|
127 |
-
msgstr ""
|
128 |
-
"Introdu un handle js pe câte un câmp text, în zona din stânga şi codul HTML "
|
129 |
-
"al script-ului corespondent în câmpurile text din dreapta."
|
130 |
-
|
131 |
-
#. Text in echo
|
132 |
-
#: speed-booster-pack/inc/template/options.php:233
|
133 |
-
msgid "Exclude scripts from being deferred"
|
134 |
-
msgstr ""
|
135 |
-
"Exclude script-uri de la opţiunea \"Amână analizarea fişierelor javascript\""
|
136 |
-
|
137 |
-
#. Text in echo
|
138 |
-
#: speed-booster-pack/inc/template/options.php:143
|
139 |
-
msgid "Exclude scripts from being moved to the footer"
|
140 |
-
msgstr "Exclude script-uri de la opţiunea \"Muta script-uri in footer\""
|
141 |
-
|
142 |
-
#. Text in echo
|
143 |
-
#: speed-booster-pack/inc/template/options.php:330
|
144 |
-
msgid "Exclude styles from asynchronously option: "
|
145 |
-
msgstr "Exclude stiluri de la opţiunea \"Încărcare CSS în mod asincron\""
|
146 |
-
|
147 |
-
#. Text in echo
|
148 |
-
#: speed-booster-pack/inc/template/options.php:23
|
149 |
-
msgid "General options"
|
150 |
-
msgstr "Opţiuni Generale"
|
151 |
-
|
152 |
-
#. Text in echo
|
153 |
-
#: speed-booster-pack/inc/template/options.php:104
|
154 |
-
msgid "Home Page Load Stats"
|
155 |
-
msgstr "Încărcarea paginii de bază"
|
156 |
-
|
157 |
-
#. Text in echo
|
158 |
-
#: speed-booster-pack/inc/template/options.php:195
|
159 |
-
msgid ""
|
160 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
161 |
-
"therefore the use of \"Move scripts to footer\" option will become useless "
|
162 |
-
"so you can disable it."
|
163 |
-
msgstr ""
|
164 |
-
"Dacă doreşti să excluzi mai mult de 4 script-uri, scorul paginii va avea de "
|
165 |
-
"suferit şi, prin urmare, utilizarea opţiunii \"Mută script-uri în footer \" "
|
166 |
-
"va deveni inutilă, şi o poţi dezactiva."
|
167 |
-
|
168 |
-
#. Text in echo
|
169 |
-
#: speed-booster-pack/inc/template/options.php:320
|
170 |
-
msgid "Insert all CSS styles inline to the footer"
|
171 |
-
msgstr "Mută toate stilurile CSS în linie în footer"
|
172 |
-
|
173 |
-
#. Text in echo
|
174 |
-
#: speed-booster-pack/inc/template/options.php:368
|
175 |
-
msgid "Insert all CSS styles inline to the footer: "
|
176 |
-
msgstr "Mută toate stilurile CSS în linie în footer:"
|
177 |
-
|
178 |
-
#. Text in echo
|
179 |
-
#: speed-booster-pack/inc/template/options.php:416
|
180 |
-
msgid "Installed Version:"
|
181 |
-
msgstr "Versiunea instalată:"
|
182 |
-
|
183 |
-
#. Text in echo
|
184 |
-
#: speed-booster-pack/inc/template/options.php:55
|
185 |
-
msgid "Lazy load images to improve speed"
|
186 |
-
msgstr "Întârzie încărcarea imaginilor"
|
187 |
-
|
188 |
-
#. Text in echo
|
189 |
-
#: speed-booster-pack/inc/template/options.php:305
|
190 |
-
msgid "Load CSS asynchronously"
|
191 |
-
msgstr "Încărcare CSS în mod asincron"
|
192 |
-
|
193 |
-
#. Text in echo
|
194 |
-
#: speed-booster-pack/inc/template/options.php:40
|
195 |
-
msgid "Load JS from Google Libraries"
|
196 |
-
msgstr "Încarcă JS din Google Libraries"
|
197 |
-
|
198 |
-
#. Text in echo
|
199 |
-
#: speed-booster-pack/inc/template/options.php:31
|
200 |
-
msgid "Main plugin options"
|
201 |
-
msgstr "Opţiunile principale"
|
202 |
-
|
203 |
-
#. Text in echo
|
204 |
-
#: speed-booster-pack/inc/template/options.php:313
|
205 |
-
msgid "Minify all CSS styles"
|
206 |
-
msgstr "Comprimă toate fişierele CSS"
|
207 |
-
|
208 |
-
#. Text in echo
|
209 |
-
#: speed-booster-pack/inc/template/options.php:35
|
210 |
-
msgid "Move scripts to the footer"
|
211 |
-
msgstr "Muta script-uri in footer"
|
212 |
-
|
213 |
-
#. Text in echo
|
214 |
-
#: speed-booster-pack/inc/template/options.php:289
|
215 |
-
msgid ""
|
216 |
-
"Note that any changes you make will only affect new images uploaded to your "
|
217 |
-
"site. If you want to update all of your images with the new sizes, install "
|
218 |
-
"and run the Regenerate Thumbnails plugin. As a reference, a lower level of "
|
219 |
-
"compression means more performance. We recommend you choose a compression "
|
220 |
-
"level between 50 and 75."
|
221 |
-
msgstr ""
|
222 |
-
"Reţine că după alegerea nivelului de compresie, modificările vor afecta "
|
223 |
-
"numai imaginile noi încărcate pe site. Dacă doreşti să actualizezi toate "
|
224 |
-
"imaginile la noul nivel de compresie, instalează şi rulează plugin-ul "
|
225 |
-
"Regenerate Thumbnails. Că referinţă, un nivel mai scăzut de comprimare "
|
226 |
-
"înseamnă mai multă performanţă a site-ului. Îţi recomandăm să alegi un nivel "
|
227 |
-
"de compresie cu valorea cuprinsă între 50 şi 75."
|
228 |
-
|
229 |
-
#. Text in echo
|
230 |
-
#: speed-booster-pack/inc/template/options.php:118
|
231 |
-
msgid "Number of executed queries:"
|
232 |
-
msgstr "Numărul de interogări (queries) executate:"
|
233 |
-
|
234 |
-
#. Text in echo
|
235 |
-
#: speed-booster-pack/inc/template/options.php:106
|
236 |
-
msgid "Page loading time in seconds:"
|
237 |
-
msgstr "Timpul de încărcare a paginii în secunde:"
|
238 |
-
|
239 |
-
#. Text in echo
|
240 |
-
#: speed-booster-pack/inc/template/options.php:131
|
241 |
-
msgid "Peak Memory Used:"
|
242 |
-
msgstr "Memoria folosită"
|
243 |
-
|
244 |
-
#. Text in echo
|
245 |
-
#: speed-booster-pack/inc/template/options.php:195
|
246 |
-
msgid "Read more"
|
247 |
-
msgstr "Citeşte mai multe"
|
248 |
-
|
249 |
-
#. Text in echo
|
250 |
-
#: speed-booster-pack/inc/template/options.php:399
|
251 |
-
msgid "Read online plugin documentation"
|
252 |
-
msgstr "Citeşte online documentaţia pluginului"
|
253 |
-
|
254 |
-
#. Text in echo
|
255 |
-
#: speed-booster-pack/inc/template/options.php:423
|
256 |
-
msgid "Released date:"
|
257 |
-
msgstr "Data lansării:"
|
258 |
-
|
259 |
-
#. Text in echo
|
260 |
-
#: speed-booster-pack/inc/template/options.php:81
|
261 |
-
msgid "Remove Adjacent Posts Links"
|
262 |
-
msgstr "Elimină Adjacent Posts Links"
|
263 |
-
|
264 |
-
#. Text in echo
|
265 |
-
#: speed-booster-pack/inc/template/options.php:71
|
266 |
-
msgid "Remove RSD Link"
|
267 |
-
msgstr "Elimină linkul RSD"
|
268 |
-
|
269 |
-
#. Text in echo
|
270 |
-
#: speed-booster-pack/inc/template/options.php:86
|
271 |
-
msgid "Remove Windows Manifest"
|
272 |
-
msgstr "Elimină Windows Manifest"
|
273 |
-
|
274 |
-
#. Text in echo
|
275 |
-
#: speed-booster-pack/inc/template/options.php:76
|
276 |
-
msgid "Remove WordPress Shortlink"
|
277 |
-
msgstr "Elimină WordPress Shortlink"
|
278 |
-
|
279 |
-
#. Text in echo
|
280 |
-
#: speed-booster-pack/inc/template/options.php:96
|
281 |
-
msgid "Remove all rss feed links"
|
282 |
-
msgstr "Elimină toate link-urile RSS feed"
|
283 |
-
|
284 |
-
#. Text in echo
|
285 |
-
#: speed-booster-pack/inc/template/options.php:67
|
286 |
-
msgid "Remove junk header tags"
|
287 |
-
msgstr "Elimină tag-urile inutile din header"
|
288 |
-
|
289 |
-
#. Text in echo
|
290 |
-
#: speed-booster-pack/inc/template/options.php:50
|
291 |
-
msgid "Remove query strings"
|
292 |
-
msgstr "Elimină versiunea fisierelor"
|
293 |
-
|
294 |
-
#. Text in echo
|
295 |
-
#: speed-booster-pack/inc/template/options.php:91
|
296 |
-
msgid "Remove the WordPress Version"
|
297 |
-
msgstr "Elimină versiunea WordPress"
|
298 |
-
|
299 |
-
#. Text in echo
|
300 |
-
#: speed-booster-pack/inc/template/options.php:60
|
301 |
-
msgid "Removes extra Font Awesome styles"
|
302 |
-
msgstr "Elimină extra Font Awesome CSS"
|
303 |
-
|
304 |
-
#. Text in echo
|
305 |
-
#: speed-booster-pack/inc/template/options.php:149
|
306 |
-
#: speed-booster-pack/inc/template/options.php:206
|
307 |
-
msgid "Script Handle"
|
308 |
-
msgstr "Script Handle"
|
309 |
-
|
310 |
-
#. Text in echo
|
311 |
-
#: speed-booster-pack/inc/template/options.php:207
|
312 |
-
msgid "Script Path"
|
313 |
-
msgstr "Calea scriptului"
|
314 |
-
|
315 |
-
#. Text in echo
|
316 |
-
#: speed-booster-pack/inc/template/options.php:299
|
317 |
-
msgid "Still need more speed?"
|
318 |
-
msgstr "Încă ai nevoie de mai multă viteză?"
|
319 |
-
|
320 |
-
#. Text in echo
|
321 |
-
#: speed-booster-pack/inc/template/options.php:286
|
322 |
-
msgid ""
|
323 |
-
"The default image compression setting in WordPress is 90%. Compressing your "
|
324 |
-
"images further than the default will make your file sizes even smaller and "
|
325 |
-
"will boost your site performance."
|
326 |
-
msgstr ""
|
327 |
-
"Nivelul implicit de comprimare a imaginilor în WordPress este de 90%. "
|
328 |
-
"Comprimarea imaginilor la un nivel mai mare decât nivelul implicit va "
|
329 |
-
"micşora dimensiunile fişierelor şi va stimula performanta site-ului tău."
|
330 |
-
|
331 |
-
#. Text in echo
|
332 |
-
#: speed-booster-pack/inc/template/options.php:405
|
333 |
-
msgid "Version Information"
|
334 |
-
msgstr "Informaţii despre versiune"
|
335 |
-
|
336 |
-
#. Text in echo
|
337 |
-
#: speed-booster-pack/inc/template/options.php:389
|
338 |
-
msgid "What do these settings mean?"
|
339 |
-
msgstr "Ce reprezintă toate aceste opţiuni?"
|
340 |
-
|
341 |
-
#. Text in echo
|
342 |
-
#: speed-booster-pack/inc/template/options.php:195
|
343 |
-
msgid "detailed instructions"
|
344 |
-
msgstr "instrucţiuni detaliate"
|
345 |
-
|
346 |
-
#. Text in echo
|
347 |
-
#: speed-booster-pack/inc/template/options.php:195
|
348 |
-
msgid "on this option on plugin documentation."
|
349 |
-
msgstr "cu privire la această opţiune în documentaţia puginului."
|
350 |
-
|
351 |
-
#. Text in echo
|
352 |
-
#: speed-booster-pack/inc/template/options.php:126
|
353 |
-
msgid "q"
|
354 |
-
msgstr "q"
|
355 |
-
|
356 |
-
#. Text in echo
|
357 |
-
#: speed-booster-pack/inc/template/options.php:114
|
358 |
-
msgid "s"
|
359 |
-
msgstr "q"
|
360 |
-
|
361 |
-
#. Text in echo
|
362 |
-
#: speed-booster-pack/inc/template/options.php:368
|
363 |
-
msgid ""
|
364 |
-
"this option will eliminate render-blocking CSS warning in Google Page Speed "
|
365 |
-
"test. If there is something broken after activation, you need to disable "
|
366 |
-
"this option. Please note that before enabling this sensitive option, it is "
|
367 |
-
"strongly recommended that you also enable the \"Move scripts to the footer\" "
|
368 |
-
"option."
|
369 |
-
msgstr ""
|
370 |
-
"această opţiune va elimina mesajul render-blocking CSS din Google Page "
|
371 |
-
"Speed. Dacă observi că ceva nu merge după activare, va trebui să dezactivezi "
|
372 |
-
"această opţiune. Te rog să notezi că înainte de activarea acestei opţiuni "
|
373 |
-
"sensibile, este neapărat necesar că şi opţiunea de mutare a scripturilor în "
|
374 |
-
"footer trebuie să fie activă."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/sb-pack.mo
DELETED
Binary file
|
lang/sb-pack.po
DELETED
@@ -1,339 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
4 |
-
"Content-Transfer-Encoding: 8bit\n"
|
5 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
6 |
-
"Project-Id-Version: Speed Booster Pack\n"
|
7 |
-
"POT-Creation-Date: \n"
|
8 |
-
"PO-Revision-Date: \n"
|
9 |
-
"Last-Translator: Liviu Costache <tiguan@tiguandesign.com>\n"
|
10 |
-
"Language-Team: Tiguandesign.com <tiguan@tiguandesign.com>\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Language: en\n"
|
13 |
-
"X-Generator: Poedit 1.6.7\n"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
-
"X-Poedit-Basepath: .\n"
|
17 |
-
"X-Poedit-SearchPath-0: ..\n"
|
18 |
-
"X-Poedit-SearchPath-1: ...\n"
|
19 |
-
|
20 |
-
#. Text in echo
|
21 |
-
#: speed-booster-pack/inc/template/options.php:399
|
22 |
-
msgid " with guidelines to enhance your website performance."
|
23 |
-
msgstr ""
|
24 |
-
|
25 |
-
#. Text in echo
|
26 |
-
#: speed-booster-pack/inc/template/options.php:360
|
27 |
-
msgid "*The list may be incomplete in some circumstances."
|
28 |
-
msgstr ""
|
29 |
-
|
30 |
-
#. Text in echo
|
31 |
-
#: speed-booster-pack/inc/template/options.php:132
|
32 |
-
msgid "Active Plugins:"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#. Text in echo
|
36 |
-
#: speed-booster-pack/inc/template/options.php:367
|
37 |
-
msgid "Additional information:"
|
38 |
-
msgstr ""
|
39 |
-
|
40 |
-
#. Text in echo
|
41 |
-
#: speed-booster-pack/inc/template/options.php:342
|
42 |
-
msgid ""
|
43 |
-
"As a guidance, here is a list of css handles of each enqueued style detected "
|
44 |
-
"by our plugin:"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#. Text in echo
|
48 |
-
#: speed-booster-pack/inc/template/options.php:200
|
49 |
-
msgid ""
|
50 |
-
"As a guidance, here is a list of script handles and script paths of each "
|
51 |
-
"enqueued script detected by our plugin:"
|
52 |
-
msgstr ""
|
53 |
-
|
54 |
-
#. Text in echo
|
55 |
-
#: speed-booster-pack/inc/template/options.php:19
|
56 |
-
msgid "Boost Your Website Speed!"
|
57 |
-
msgstr ""
|
58 |
-
|
59 |
-
#. Text in echo
|
60 |
-
#: speed-booster-pack/inc/template/options.php:348
|
61 |
-
msgid "CSS Handle"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#. Text in echo
|
65 |
-
#: speed-booster-pack/inc/template/options.php:265
|
66 |
-
msgid "Change the default image compression level"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#. Text in echo
|
70 |
-
#: speed-booster-pack/inc/template/options.php:277
|
71 |
-
msgid "Compression level:"
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#. Text in echo
|
75 |
-
#: speed-booster-pack/inc/template/options.php:172
|
76 |
-
msgid "Copy the HTML code of the script from your page source and add it below"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#. Text in echo
|
80 |
-
#: speed-booster-pack/inc/template/options.php:45
|
81 |
-
msgid "Defer parsing of javascript files"
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#. Text in echo
|
85 |
-
#: speed-booster-pack/inc/template/options.php:325
|
86 |
-
msgid "Disable all above CSS options on mobile devices"
|
87 |
-
msgstr ""
|
88 |
-
|
89 |
-
#. Text in echo
|
90 |
-
#: speed-booster-pack/inc/template/options.php:333
|
91 |
-
msgid ""
|
92 |
-
"Enter one by line, the handles of css files or the final part of the style "
|
93 |
-
"URL. For example: <code>font-awesome</code> or <code>font-awesome.min.css</"
|
94 |
-
"code>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#. Text in echo
|
98 |
-
#: speed-booster-pack/inc/template/options.php:257
|
99 |
-
msgid ""
|
100 |
-
"Enter one by text field, the final part of the js files that you want to be "
|
101 |
-
"excluded from defer parsing option. For example: <code>jquery.min.js</code> "
|
102 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
103 |
-
"therefore the use of \"Defer parsing of javascript files\" option will "
|
104 |
-
"become useless so you can disable it"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#. Text in echo
|
108 |
-
#: speed-booster-pack/inc/template/options.php:195
|
109 |
-
msgid ""
|
110 |
-
"Enter one js handle per text field, in the left area and the corespondent "
|
111 |
-
"html script in the right text fields."
|
112 |
-
msgstr ""
|
113 |
-
|
114 |
-
#. Text in echo
|
115 |
-
#: speed-booster-pack/inc/template/options.php:233
|
116 |
-
msgid "Exclude scripts from being deferred"
|
117 |
-
msgstr ""
|
118 |
-
|
119 |
-
#. Text in echo
|
120 |
-
#: speed-booster-pack/inc/template/options.php:143
|
121 |
-
msgid "Exclude scripts from being moved to the footer"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#. Text in echo
|
125 |
-
#: speed-booster-pack/inc/template/options.php:330
|
126 |
-
msgid "Exclude styles from asynchronously option: "
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#. Text in echo
|
130 |
-
#: speed-booster-pack/inc/template/options.php:23
|
131 |
-
msgid "General options"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#. Text in echo
|
135 |
-
#: speed-booster-pack/inc/template/options.php:104
|
136 |
-
msgid "Home Page Load Stats"
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#. Text in echo
|
140 |
-
#: speed-booster-pack/inc/template/options.php:195
|
141 |
-
msgid ""
|
142 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
143 |
-
"therefore the use of \"Move scripts to footer\" option will become useless "
|
144 |
-
"so you can disable it."
|
145 |
-
msgstr ""
|
146 |
-
|
147 |
-
#. Text in echo
|
148 |
-
#: speed-booster-pack/inc/template/options.php:320
|
149 |
-
msgid "Insert all CSS styles inline to the footer"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#. Text in echo
|
153 |
-
#: speed-booster-pack/inc/template/options.php:368
|
154 |
-
msgid "Insert all CSS styles inline to the footer: "
|
155 |
-
msgstr ""
|
156 |
-
|
157 |
-
#. Text in echo
|
158 |
-
#: speed-booster-pack/inc/template/options.php:416
|
159 |
-
msgid "Installed Version:"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#. Text in echo
|
163 |
-
#: speed-booster-pack/inc/template/options.php:55
|
164 |
-
msgid "Lazy load images to improve speed"
|
165 |
-
msgstr ""
|
166 |
-
|
167 |
-
#. Text in echo
|
168 |
-
#: speed-booster-pack/inc/template/options.php:305
|
169 |
-
msgid "Load CSS asynchronously"
|
170 |
-
msgstr ""
|
171 |
-
|
172 |
-
#. Text in echo
|
173 |
-
#: speed-booster-pack/inc/template/options.php:40
|
174 |
-
msgid "Load JS from Google Libraries"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#. Text in echo
|
178 |
-
#: speed-booster-pack/inc/template/options.php:31
|
179 |
-
msgid "Main plugin options"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#. Text in echo
|
183 |
-
#: speed-booster-pack/inc/template/options.php:313
|
184 |
-
msgid "Minify all CSS styles"
|
185 |
-
msgstr ""
|
186 |
-
|
187 |
-
#. Text in echo
|
188 |
-
#: speed-booster-pack/inc/template/options.php:35
|
189 |
-
msgid "Move scripts to the footer"
|
190 |
-
msgstr ""
|
191 |
-
|
192 |
-
#. Text in echo
|
193 |
-
#: speed-booster-pack/inc/template/options.php:289
|
194 |
-
msgid ""
|
195 |
-
"Note that any changes you make will only affect new images uploaded to your "
|
196 |
-
"site. If you want to update all of your images with the new sizes, install "
|
197 |
-
"and run the Regenerate Thumbnails plugin. As a reference, a lower level of "
|
198 |
-
"compression means more performance. We recommend you choose a compression "
|
199 |
-
"level between 50 and 75."
|
200 |
-
msgstr ""
|
201 |
-
|
202 |
-
#. Text in echo
|
203 |
-
#: speed-booster-pack/inc/template/options.php:118
|
204 |
-
msgid "Number of executed queries:"
|
205 |
-
msgstr ""
|
206 |
-
|
207 |
-
#. Text in echo
|
208 |
-
#: speed-booster-pack/inc/template/options.php:106
|
209 |
-
msgid "Page loading time in seconds:"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#. Text in echo
|
213 |
-
#: speed-booster-pack/inc/template/options.php:131
|
214 |
-
msgid "Peak Memory Used:"
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#. Text in echo
|
218 |
-
#: speed-booster-pack/inc/template/options.php:195
|
219 |
-
msgid "Read more"
|
220 |
-
msgstr ""
|
221 |
-
|
222 |
-
#. Text in echo
|
223 |
-
#: speed-booster-pack/inc/template/options.php:399
|
224 |
-
msgid "Read online plugin documentation"
|
225 |
-
msgstr ""
|
226 |
-
|
227 |
-
#. Text in echo
|
228 |
-
#: speed-booster-pack/inc/template/options.php:423
|
229 |
-
msgid "Released date:"
|
230 |
-
msgstr ""
|
231 |
-
|
232 |
-
#. Text in echo
|
233 |
-
#: speed-booster-pack/inc/template/options.php:81
|
234 |
-
msgid "Remove Adjacent Posts Links"
|
235 |
-
msgstr ""
|
236 |
-
|
237 |
-
#. Text in echo
|
238 |
-
#: speed-booster-pack/inc/template/options.php:71
|
239 |
-
msgid "Remove RSD Link"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#. Text in echo
|
243 |
-
#: speed-booster-pack/inc/template/options.php:86
|
244 |
-
msgid "Remove Windows Manifest"
|
245 |
-
msgstr ""
|
246 |
-
|
247 |
-
#. Text in echo
|
248 |
-
#: speed-booster-pack/inc/template/options.php:76
|
249 |
-
msgid "Remove WordPress Shortlink"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#. Text in echo
|
253 |
-
#: speed-booster-pack/inc/template/options.php:96
|
254 |
-
msgid "Remove all rss feed links"
|
255 |
-
msgstr ""
|
256 |
-
|
257 |
-
#. Text in echo
|
258 |
-
#: speed-booster-pack/inc/template/options.php:67
|
259 |
-
msgid "Remove junk header tags"
|
260 |
-
msgstr ""
|
261 |
-
|
262 |
-
#. Text in echo
|
263 |
-
#: speed-booster-pack/inc/template/options.php:50
|
264 |
-
msgid "Remove query strings"
|
265 |
-
msgstr ""
|
266 |
-
|
267 |
-
#. Text in echo
|
268 |
-
#: speed-booster-pack/inc/template/options.php:91
|
269 |
-
msgid "Remove the WordPress Version"
|
270 |
-
msgstr ""
|
271 |
-
|
272 |
-
#. Text in echo
|
273 |
-
#: speed-booster-pack/inc/template/options.php:60
|
274 |
-
msgid "Removes extra Font Awesome styles"
|
275 |
-
msgstr ""
|
276 |
-
|
277 |
-
#. Text in echo
|
278 |
-
#: speed-booster-pack/inc/template/options.php:149
|
279 |
-
#: speed-booster-pack/inc/template/options.php:206
|
280 |
-
msgid "Script Handle"
|
281 |
-
msgstr ""
|
282 |
-
|
283 |
-
#. Text in echo
|
284 |
-
#: speed-booster-pack/inc/template/options.php:207
|
285 |
-
msgid "Script Path"
|
286 |
-
msgstr ""
|
287 |
-
|
288 |
-
#. Text in echo
|
289 |
-
#: speed-booster-pack/inc/template/options.php:299
|
290 |
-
msgid "Still need more speed?"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#. Text in echo
|
294 |
-
#: speed-booster-pack/inc/template/options.php:286
|
295 |
-
msgid ""
|
296 |
-
"The default image compression setting in WordPress is 90%. Compressing your "
|
297 |
-
"images further than the default will make your file sizes even smaller and "
|
298 |
-
"will boost your site performance."
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#. Text in echo
|
302 |
-
#: speed-booster-pack/inc/template/options.php:405
|
303 |
-
msgid "Version Information"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#. Text in echo
|
307 |
-
#: speed-booster-pack/inc/template/options.php:389
|
308 |
-
msgid "What do these settings mean?"
|
309 |
-
msgstr ""
|
310 |
-
|
311 |
-
#. Text in echo
|
312 |
-
#: speed-booster-pack/inc/template/options.php:195
|
313 |
-
msgid "detailed instructions"
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#. Text in echo
|
317 |
-
#: speed-booster-pack/inc/template/options.php:195
|
318 |
-
msgid "on this option on plugin documentation."
|
319 |
-
msgstr ""
|
320 |
-
|
321 |
-
#. Text in echo
|
322 |
-
#: speed-booster-pack/inc/template/options.php:126
|
323 |
-
msgid "q"
|
324 |
-
msgstr ""
|
325 |
-
|
326 |
-
#. Text in echo
|
327 |
-
#: speed-booster-pack/inc/template/options.php:114
|
328 |
-
msgid "s"
|
329 |
-
msgstr ""
|
330 |
-
|
331 |
-
#. Text in echo
|
332 |
-
#: speed-booster-pack/inc/template/options.php:368
|
333 |
-
msgid ""
|
334 |
-
"this option will eliminate render-blocking CSS warning in Google Page Speed "
|
335 |
-
"test. If there is something broken after activation, you need to disable "
|
336 |
-
"this option. Please note that before enabling this sensitive option, it is "
|
337 |
-
"strongly recommended that you also enable the \"Move scripts to the footer\" "
|
338 |
-
"option."
|
339 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/sb-pack.pot
DELETED
@@ -1,339 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
4 |
-
"Content-Transfer-Encoding: 8bit\n"
|
5 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
6 |
-
"Project-Id-Version: Speed Booster Pack\n"
|
7 |
-
"POT-Creation-Date: \n"
|
8 |
-
"PO-Revision-Date: \n"
|
9 |
-
"Last-Translator: Liviu Costache <tiguan@tiguandesign.com>\n"
|
10 |
-
"Language-Team: Tiguandesign.com <tiguan@tiguandesign.com>\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Language: en\n"
|
13 |
-
"X-Generator: Poedit 1.6.7\n"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
-
"X-Poedit-Basepath: .\n"
|
17 |
-
"X-Poedit-SearchPath-0: ..\n"
|
18 |
-
"X-Poedit-SearchPath-1: ...\n"
|
19 |
-
|
20 |
-
#. Text in echo
|
21 |
-
#: speed-booster-pack/inc/template/options.php:399
|
22 |
-
msgid " with guidelines to enhance your website performance."
|
23 |
-
msgstr ""
|
24 |
-
|
25 |
-
#. Text in echo
|
26 |
-
#: speed-booster-pack/inc/template/options.php:360
|
27 |
-
msgid "*The list may be incomplete in some circumstances."
|
28 |
-
msgstr ""
|
29 |
-
|
30 |
-
#. Text in echo
|
31 |
-
#: speed-booster-pack/inc/template/options.php:132
|
32 |
-
msgid "Active Plugins:"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#. Text in echo
|
36 |
-
#: speed-booster-pack/inc/template/options.php:367
|
37 |
-
msgid "Additional information:"
|
38 |
-
msgstr ""
|
39 |
-
|
40 |
-
#. Text in echo
|
41 |
-
#: speed-booster-pack/inc/template/options.php:342
|
42 |
-
msgid ""
|
43 |
-
"As a guidance, here is a list of css handles of each enqueued style detected "
|
44 |
-
"by our plugin:"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#. Text in echo
|
48 |
-
#: speed-booster-pack/inc/template/options.php:200
|
49 |
-
msgid ""
|
50 |
-
"As a guidance, here is a list of script handles and script paths of each "
|
51 |
-
"enqueued script detected by our plugin:"
|
52 |
-
msgstr ""
|
53 |
-
|
54 |
-
#. Text in echo
|
55 |
-
#: speed-booster-pack/inc/template/options.php:19
|
56 |
-
msgid "Boost Your Website Speed!"
|
57 |
-
msgstr ""
|
58 |
-
|
59 |
-
#. Text in echo
|
60 |
-
#: speed-booster-pack/inc/template/options.php:348
|
61 |
-
msgid "CSS Handle"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#. Text in echo
|
65 |
-
#: speed-booster-pack/inc/template/options.php:265
|
66 |
-
msgid "Change the default image compression level"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#. Text in echo
|
70 |
-
#: speed-booster-pack/inc/template/options.php:277
|
71 |
-
msgid "Compression level:"
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#. Text in echo
|
75 |
-
#: speed-booster-pack/inc/template/options.php:172
|
76 |
-
msgid "Copy the HTML code of the script from your page source and add it below"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#. Text in echo
|
80 |
-
#: speed-booster-pack/inc/template/options.php:45
|
81 |
-
msgid "Defer parsing of javascript files"
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#. Text in echo
|
85 |
-
#: speed-booster-pack/inc/template/options.php:325
|
86 |
-
msgid "Disable all above CSS options on mobile devices"
|
87 |
-
msgstr ""
|
88 |
-
|
89 |
-
#. Text in echo
|
90 |
-
#: speed-booster-pack/inc/template/options.php:333
|
91 |
-
msgid ""
|
92 |
-
"Enter one by line, the handles of css files or the final part of the style "
|
93 |
-
"URL. For example: <code>font-awesome</code> or <code>font-awesome.min.css</"
|
94 |
-
"code>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#. Text in echo
|
98 |
-
#: speed-booster-pack/inc/template/options.php:257
|
99 |
-
msgid ""
|
100 |
-
"Enter one by text field, the final part of the js files that you want to be "
|
101 |
-
"excluded from defer parsing option. For example: <code>jquery.min.js</code> "
|
102 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
103 |
-
"therefore the use of \"Defer parsing of javascript files\" option will "
|
104 |
-
"become useless so you can disable it"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#. Text in echo
|
108 |
-
#: speed-booster-pack/inc/template/options.php:195
|
109 |
-
msgid ""
|
110 |
-
"Enter one js handle per text field, in the left area and the corespondent "
|
111 |
-
"html script in the right text fields."
|
112 |
-
msgstr ""
|
113 |
-
|
114 |
-
#. Text in echo
|
115 |
-
#: speed-booster-pack/inc/template/options.php:233
|
116 |
-
msgid "Exclude scripts from being deferred"
|
117 |
-
msgstr ""
|
118 |
-
|
119 |
-
#. Text in echo
|
120 |
-
#: speed-booster-pack/inc/template/options.php:143
|
121 |
-
msgid "Exclude scripts from being moved to the footer"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#. Text in echo
|
125 |
-
#: speed-booster-pack/inc/template/options.php:330
|
126 |
-
msgid "Exclude styles from asynchronously option: "
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#. Text in echo
|
130 |
-
#: speed-booster-pack/inc/template/options.php:23
|
131 |
-
msgid "General options"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#. Text in echo
|
135 |
-
#: speed-booster-pack/inc/template/options.php:104
|
136 |
-
msgid "Home Page Load Stats"
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#. Text in echo
|
140 |
-
#: speed-booster-pack/inc/template/options.php:195
|
141 |
-
msgid ""
|
142 |
-
"If you want to exclude more than 4 scripts, your page score will be hit and "
|
143 |
-
"therefore the use of \"Move scripts to footer\" option will become useless "
|
144 |
-
"so you can disable it."
|
145 |
-
msgstr ""
|
146 |
-
|
147 |
-
#. Text in echo
|
148 |
-
#: speed-booster-pack/inc/template/options.php:320
|
149 |
-
msgid "Insert all CSS styles inline to the footer"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#. Text in echo
|
153 |
-
#: speed-booster-pack/inc/template/options.php:368
|
154 |
-
msgid "Insert all CSS styles inline to the footer: "
|
155 |
-
msgstr ""
|
156 |
-
|
157 |
-
#. Text in echo
|
158 |
-
#: speed-booster-pack/inc/template/options.php:416
|
159 |
-
msgid "Installed Version:"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#. Text in echo
|
163 |
-
#: speed-booster-pack/inc/template/options.php:55
|
164 |
-
msgid "Lazy load images to improve speed"
|
165 |
-
msgstr ""
|
166 |
-
|
167 |
-
#. Text in echo
|
168 |
-
#: speed-booster-pack/inc/template/options.php:305
|
169 |
-
msgid "Load CSS asynchronously"
|
170 |
-
msgstr ""
|
171 |
-
|
172 |
-
#. Text in echo
|
173 |
-
#: speed-booster-pack/inc/template/options.php:40
|
174 |
-
msgid "Load JS from Google Libraries"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#. Text in echo
|
178 |
-
#: speed-booster-pack/inc/template/options.php:31
|
179 |
-
msgid "Main plugin options"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#. Text in echo
|
183 |
-
#: speed-booster-pack/inc/template/options.php:313
|
184 |
-
msgid "Minify all CSS styles"
|
185 |
-
msgstr ""
|
186 |
-
|
187 |
-
#. Text in echo
|
188 |
-
#: speed-booster-pack/inc/template/options.php:35
|
189 |
-
msgid "Move scripts to the footer"
|
190 |
-
msgstr ""
|
191 |
-
|
192 |
-
#. Text in echo
|
193 |
-
#: speed-booster-pack/inc/template/options.php:289
|
194 |
-
msgid ""
|
195 |
-
"Note that any changes you make will only affect new images uploaded to your "
|
196 |
-
"site. If you want to update all of your images with the new sizes, install "
|
197 |
-
"and run the Regenerate Thumbnails plugin. As a reference, a lower level of "
|
198 |
-
"compression means more performance. We recommend you choose a compression "
|
199 |
-
"level between 50 and 75."
|
200 |
-
msgstr ""
|
201 |
-
|
202 |
-
#. Text in echo
|
203 |
-
#: speed-booster-pack/inc/template/options.php:118
|
204 |
-
msgid "Number of executed queries:"
|
205 |
-
msgstr ""
|
206 |
-
|
207 |
-
#. Text in echo
|
208 |
-
#: speed-booster-pack/inc/template/options.php:106
|
209 |
-
msgid "Page loading time in seconds:"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#. Text in echo
|
213 |
-
#: speed-booster-pack/inc/template/options.php:131
|
214 |
-
msgid "Peak Memory Used:"
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#. Text in echo
|
218 |
-
#: speed-booster-pack/inc/template/options.php:195
|
219 |
-
msgid "Read more"
|
220 |
-
msgstr ""
|
221 |
-
|
222 |
-
#. Text in echo
|
223 |
-
#: speed-booster-pack/inc/template/options.php:399
|
224 |
-
msgid "Read online plugin documentation"
|
225 |
-
msgstr ""
|
226 |
-
|
227 |
-
#. Text in echo
|
228 |
-
#: speed-booster-pack/inc/template/options.php:423
|
229 |
-
msgid "Released date:"
|
230 |
-
msgstr ""
|
231 |
-
|
232 |
-
#. Text in echo
|
233 |
-
#: speed-booster-pack/inc/template/options.php:81
|
234 |
-
msgid "Remove Adjacent Posts Links"
|
235 |
-
msgstr ""
|
236 |
-
|
237 |
-
#. Text in echo
|
238 |
-
#: speed-booster-pack/inc/template/options.php:71
|
239 |
-
msgid "Remove RSD Link"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#. Text in echo
|
243 |
-
#: speed-booster-pack/inc/template/options.php:86
|
244 |
-
msgid "Remove Windows Manifest"
|
245 |
-
msgstr ""
|
246 |
-
|
247 |
-
#. Text in echo
|
248 |
-
#: speed-booster-pack/inc/template/options.php:76
|
249 |
-
msgid "Remove WordPress Shortlink"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#. Text in echo
|
253 |
-
#: speed-booster-pack/inc/template/options.php:96
|
254 |
-
msgid "Remove all rss feed links"
|
255 |
-
msgstr ""
|
256 |
-
|
257 |
-
#. Text in echo
|
258 |
-
#: speed-booster-pack/inc/template/options.php:67
|
259 |
-
msgid "Remove junk header tags"
|
260 |
-
msgstr ""
|
261 |
-
|
262 |
-
#. Text in echo
|
263 |
-
#: speed-booster-pack/inc/template/options.php:50
|
264 |
-
msgid "Remove query strings"
|
265 |
-
msgstr ""
|
266 |
-
|
267 |
-
#. Text in echo
|
268 |
-
#: speed-booster-pack/inc/template/options.php:91
|
269 |
-
msgid "Remove the WordPress Version"
|
270 |
-
msgstr ""
|
271 |
-
|
272 |
-
#. Text in echo
|
273 |
-
#: speed-booster-pack/inc/template/options.php:60
|
274 |
-
msgid "Removes extra Font Awesome styles"
|
275 |
-
msgstr ""
|
276 |
-
|
277 |
-
#. Text in echo
|
278 |
-
#: speed-booster-pack/inc/template/options.php:149
|
279 |
-
#: speed-booster-pack/inc/template/options.php:206
|
280 |
-
msgid "Script Handle"
|
281 |
-
msgstr ""
|
282 |
-
|
283 |
-
#. Text in echo
|
284 |
-
#: speed-booster-pack/inc/template/options.php:207
|
285 |
-
msgid "Script Path"
|
286 |
-
msgstr ""
|
287 |
-
|
288 |
-
#. Text in echo
|
289 |
-
#: speed-booster-pack/inc/template/options.php:299
|
290 |
-
msgid "Still need more speed?"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#. Text in echo
|
294 |
-
#: speed-booster-pack/inc/template/options.php:286
|
295 |
-
msgid ""
|
296 |
-
"The default image compression setting in WordPress is 90%. Compressing your "
|
297 |
-
"images further than the default will make your file sizes even smaller and "
|
298 |
-
"will boost your site performance."
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#. Text in echo
|
302 |
-
#: speed-booster-pack/inc/template/options.php:405
|
303 |
-
msgid "Version Information"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#. Text in echo
|
307 |
-
#: speed-booster-pack/inc/template/options.php:389
|
308 |
-
msgid "What do these settings mean?"
|
309 |
-
msgstr ""
|
310 |
-
|
311 |
-
#. Text in echo
|
312 |
-
#: speed-booster-pack/inc/template/options.php:195
|
313 |
-
msgid "detailed instructions"
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#. Text in echo
|
317 |
-
#: speed-booster-pack/inc/template/options.php:195
|
318 |
-
msgid "on this option on plugin documentation."
|
319 |
-
msgstr ""
|
320 |
-
|
321 |
-
#. Text in echo
|
322 |
-
#: speed-booster-pack/inc/template/options.php:126
|
323 |
-
msgid "q"
|
324 |
-
msgstr ""
|
325 |
-
|
326 |
-
#. Text in echo
|
327 |
-
#: speed-booster-pack/inc/template/options.php:114
|
328 |
-
msgid "s"
|
329 |
-
msgstr ""
|
330 |
-
|
331 |
-
#. Text in echo
|
332 |
-
#: speed-booster-pack/inc/template/options.php:368
|
333 |
-
msgid ""
|
334 |
-
"this option will eliminate render-blocking CSS warning in Google Page Speed "
|
335 |
-
"test. If there is something broken after activation, you need to disable "
|
336 |
-
"this option. Please note that before enabling this sensitive option, it is "
|
337 |
-
"strongly recommended that you also enable the \"Move scripts to the footer\" "
|
338 |
-
"option."
|
339 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readme.txt
CHANGED
@@ -1,17 +1,21 @@
|
|
1 |
=== Speed Booster Pack ===
|
2 |
-
Contributors: machothemes
|
3 |
-
Donate link:
|
4 |
Tags: speed, optimization, performance, scripts to the footer, google libraries, font awesome cdn, defer parsing of javascript, remove query strings, lazy load images, gtmetrix, google pageSpeed, yslow, eliminate external render-blocking javascript and css, compression, async, render-blocking css
|
5 |
Requires at least: 3.6
|
6 |
Tested up to: 4.9
|
7 |
-
|
8 |
-
|
9 |
-
License
|
|
|
10 |
|
11 |
A light, frequently updated and easy to use plugin to make your site load faster and score higher on Google PSI.
|
12 |
|
13 |
== Description ==
|
14 |
|
|
|
|
|
|
|
|
|
15 |
**Speed Booster Pack is a lightweight, frequently updated, easy to use and well supported plugin which allows you to improve your website's loading speed.**
|
16 |
|
17 |
Improving your site's speed will get you a better score on major speed testing services such as [Google PageSpeed](http://developers.google.com/speed/pagespeed/insights/), [GTmetrix](http://gtmetrix.com/), [YSlow](https://developer.yahoo.com/yslow/), [Pingdom](http://tools.pingdom.com/fpt/), [Webpagetest](http://www.webpagetest.org/) and will also improve your overall site's usability. This will persuade Google and other search engines to rank your site higher in search results thus sending more traffic.
|
@@ -28,7 +32,6 @@ Speed Booster Pack is a plugin that can help you speed up your website by tweaki
|
|
28 |
* **Load CSS asynchronously** to render your page more quickly and get a higher score on the major speed testing services.
|
29 |
* **Minify and inline all CSS styles and move them to the footer** to eliminate external render-blocking CSS and optimize CSS delivery.
|
30 |
* ** Minify HTML and JavaScript to increase your page load speed.
|
31 |
-
* **Lazy loads images** to improve page load times and save bandwidth.
|
32 |
* **Change image compression level** to keep file sizes smaller; Change JPG quality.
|
33 |
* **Load javascript files from Google Libraries** rather than serving them from your WordPress install directly, to reduce latency, increase parallelism and improve browser caching.
|
34 |
* **Defer parsing of javascript files** to reduce the initial load time of your page.
|
@@ -46,9 +49,6 @@ Speed Booster Pack is a plugin that can help you speed up your website by tweaki
|
|
46 |
|
47 |
* For complete usage instructions visit [Plugin Documentation](http://docs.machothemes.com/category/118-speed-booster)
|
48 |
|
49 |
-
A short video about how Speed Booster pack can help actually increase a website's score in Google PageSpeed Insights:
|
50 |
-
|
51 |
-
https://www.youtube.com/watch?v=u0G6pk2mX4M
|
52 |
|
53 |
Future Development:
|
54 |
|
@@ -77,6 +77,43 @@ We are a young team of WordPress aficionados who love building WordPress plugins
|
|
77 |
1. Plugin options page, simple view (v2.5)
|
78 |
|
79 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
= 3.6.1 =
|
81 |
* Added a section for feedback in the plugin's dashboard
|
82 |
|
1 |
=== Speed Booster Pack ===
|
2 |
+
Contributors: machothemes, silkalns
|
|
|
3 |
Tags: speed, optimization, performance, scripts to the footer, google libraries, font awesome cdn, defer parsing of javascript, remove query strings, lazy load images, gtmetrix, google pageSpeed, yslow, eliminate external render-blocking javascript and css, compression, async, render-blocking css
|
4 |
Requires at least: 3.6
|
5 |
Tested up to: 4.9
|
6 |
+
Requires PHP: 5.6
|
7 |
+
Stable tag: trunk
|
8 |
+
License: GPLv3 or later
|
9 |
+
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
11 |
A light, frequently updated and easy to use plugin to make your site load faster and score higher on Google PSI.
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
A short video about how Speed Booster pack can help actually increase a website's score in Google PageSpeed Insights:
|
16 |
+
|
17 |
+
https://www.youtube.com/watch?v=u0G6pk2mX4M
|
18 |
+
|
19 |
**Speed Booster Pack is a lightweight, frequently updated, easy to use and well supported plugin which allows you to improve your website's loading speed.**
|
20 |
|
21 |
Improving your site's speed will get you a better score on major speed testing services such as [Google PageSpeed](http://developers.google.com/speed/pagespeed/insights/), [GTmetrix](http://gtmetrix.com/), [YSlow](https://developer.yahoo.com/yslow/), [Pingdom](http://tools.pingdom.com/fpt/), [Webpagetest](http://www.webpagetest.org/) and will also improve your overall site's usability. This will persuade Google and other search engines to rank your site higher in search results thus sending more traffic.
|
32 |
* **Load CSS asynchronously** to render your page more quickly and get a higher score on the major speed testing services.
|
33 |
* **Minify and inline all CSS styles and move them to the footer** to eliminate external render-blocking CSS and optimize CSS delivery.
|
34 |
* ** Minify HTML and JavaScript to increase your page load speed.
|
|
|
35 |
* **Change image compression level** to keep file sizes smaller; Change JPG quality.
|
36 |
* **Load javascript files from Google Libraries** rather than serving them from your WordPress install directly, to reduce latency, increase parallelism and improve browser caching.
|
37 |
* **Defer parsing of javascript files** to reduce the initial load time of your page.
|
49 |
|
50 |
* For complete usage instructions visit [Plugin Documentation](http://docs.machothemes.com/category/118-speed-booster)
|
51 |
|
|
|
|
|
|
|
52 |
|
53 |
Future Development:
|
54 |
|
77 |
1. Plugin options page, simple view (v2.5)
|
78 |
|
79 |
== Changelog ==
|
80 |
+
|
81 |
+
= 3.7.2 =
|
82 |
+
* minor tweaks & version bump
|
83 |
+
* removed ShortPixel aff integration
|
84 |
+
|
85 |
+
= 3.7.1 =
|
86 |
+
* Temporarily remove lazyLoad as the bundled JS files, namely, CrazyLazy don't seem to be working properly with the latest jQuery version.
|
87 |
+
|
88 |
+
= 3.7 =
|
89 |
+
|
90 |
+
* Bumped FontAwesome bundled CSS version from 4.1 -> 4.7 and changed to using MaxCDN
|
91 |
+
* (Hopefully) fixed the issue affecting relative/absolute paths when using minify CSS
|
92 |
+
* Wrongfully used escape functions
|
93 |
+
* Should use wp_scripts-> done instead of wp_scripts->queue
|
94 |
+
* Update Use Google Libraries 3rd party dependency
|
95 |
+
* Can't be fully translated because of one wrong text-domain string
|
96 |
+
* Change UI to WordPress Core UI
|
97 |
+
* Added plugin uninstall feedback
|
98 |
+
* Added plugin (dedicated) support tab && moved plugin feedback section only to support tab
|
99 |
+
* Added tooltips to all fields
|
100 |
+
* Re-worked the page load / site stats bar & added a bit more info
|
101 |
+
* Removed the old way of handling the uninstall hook & deletion of the sbp_integer variable from SBP when you uninstall it. In case you change your mind & reactivate the plugin, your former image compression value's there waiting for you.
|
102 |
+
* Addressed a small issue with the "Exclude scripts from being moved to footer" display
|
103 |
+
* Made all of the plugin's link send to MachoTheme's docs instead of Tiguan
|
104 |
+
* Updated jQuery UI CSS to latest version & included the PNG sprites that come by default with jQuery UI, eliminating some back-end "asset not found" errors
|
105 |
+
* Removed unused files
|
106 |
+
* Added feature: "Remove Emoji scripts"
|
107 |
+
* Added feature: "Disable XML-RPC" pings
|
108 |
+
* Added default values. Now it's even easier to get speed boosts without actually having to toggle stuff
|
109 |
+
* Removed po/mo files from SBP since translations are now handled here: https://translate.wordpress.org/projects/wp-plugins/speed-booster-pack
|
110 |
+
* jQuery will always be enqueued in the header, as a security/fallback measure.
|
111 |
+
* Fixed the way "exclude scripts from footer" works. It's now usable and only requires the script handle. Added backwards compat as well
|
112 |
+
* Fixed the way script deferring works, it's now actually usable. Introduced a filter: sbp_exclude_defer_scripts so users can exclude more than 4 scripts from being deferred
|
113 |
+
* Rewrote the way the plugin was handling removal of query strings from assets
|
114 |
+
* Automatically exclude certain known CSS assets from being async/minifed and/or moved from header (ex: dashicons / admin-bar)
|
115 |
+
* Full list of changes for v3.7, here: https://github.com/MachoThemes/speed-booster-pack/milestone/1?closed=1
|
116 |
+
|
117 |
= 3.6.1 =
|
118 |
* Added a section for feedback in the plugin's dashboard
|
119 |
|
speed-booster-pack.php
CHANGED
@@ -1,15 +1,17 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Plugin Name: Speed Booster Pack
|
4 |
-
* Plugin URI: http://wordpress.org/plugins/speed-booster-pack/
|
5 |
-
* Description: Speed Booster Pack allows you to improve your page loading speed and get a higher score on the major
|
6 |
-
*
|
7 |
-
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
|
11 |
-
|
12 |
-
|
|
|
|
|
13 |
|
14 |
THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
|
15 |
IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
|
@@ -26,260 +28,246 @@
|
|
26 |
FOUNDATION, INC., 51 FRANKLIN ST, FIFTH FLOOR, BOSTON, MA 02110-1301 USA
|
27 |
*/
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
/*----------------------------------------------------------------------------------------------------------
|
30 |
Global Variables
|
31 |
-----------------------------------------------------------------------------------------------------------*/
|
32 |
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
35 |
/*----------------------------------------------------------------------------------------------------------
|
36 |
Define some useful plugin constants
|
37 |
-----------------------------------------------------------------------------------------------------------*/
|
38 |
|
39 |
-
define( '
|
40 |
-
define( '
|
41 |
-
define( '
|
42 |
-
define( '
|
43 |
-
define( 'SBP_FOOTER', 10 ); // Defining css position
|
44 |
-
define( 'SBP_FOOTER_LAST', 99999 ); // Defining css last position
|
45 |
-
|
46 |
|
47 |
/*----------------------------------------------------------------------------------------------------------
|
48 |
Main Plugin Class
|
49 |
-----------------------------------------------------------------------------------------------------------*/
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
class Speed_Booster_Pack {
|
54 |
-
|
55 |
-
/*----------------------------------------------------------------------------------------------------------
|
56 |
-
Function Construct
|
57 |
-
-----------------------------------------------------------------------------------------------------------*/
|
58 |
-
|
59 |
-
public function __construct() {
|
60 |
-
global $sbp_options;
|
61 |
-
|
62 |
-
// Enqueue admin scripts
|
63 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_admin_enqueue_scripts' ) );
|
64 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_collapsible' ) );
|
65 |
-
|
66 |
-
// load plugin textdomain
|
67 |
-
add_action('plugins_loaded', array( $this, 'sbp_load_translation' ) );
|
68 |
|
69 |
-
|
70 |
-
add_action('wp_ajax_sbp_dismiss_notices', array(&$this, 'sbp_dismiss_notices'));
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
|
76 |
-
|
77 |
-
|
78 |
-
$Speed_Booster_Pack_Core = new Speed_Booster_Pack_Core();
|
79 |
-
|
80 |
-
// Enqueue admin style
|
81 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_enqueue_styles' ) );
|
82 |
-
|
83 |
-
if ( isset( $sbp_options['lazy_load'] ) ) {
|
84 |
-
add_action('wp_head', array( $this, 'sbp_fade_in_style' ), 100);
|
85 |
-
}
|
86 |
|
87 |
-
|
88 |
-
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
|
|
|
|
|
|
|
|
|
93 |
|
94 |
-
} // END public function __construct
|
95 |
|
|
|
|
|
96 |
|
97 |
-
|
98 |
-
|
99 |
-
-----------------------------------------------------------------------------------------------------------*/
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
|
|
|
|
|
|
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
-----------------------------------------------------------------------------------------------------------*/
|
109 |
|
110 |
-
function sbp_display_notices() {
|
111 |
-
if(!get_option( 'sbp_news')) {
|
112 |
-
global $sbp_settings_page;
|
113 |
-
$screen = get_current_screen();
|
114 |
-
if ( $screen->id != $sbp_settings_page ) {
|
115 |
-
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/template/notice.php' );
|
116 |
-
}
|
117 |
-
}
|
118 |
-
}
|
119 |
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
}
|
124 |
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
|
129 |
-
|
130 |
|
131 |
-
$sbp_options = get_option( 'sbp_settings', '' );
|
132 |
-
$timer_stop = timer_stop( 0, 2 );
|
133 |
-
$get_num_queries = get_num_queries();
|
134 |
|
135 |
-
|
136 |
-
$response = wp_remote_get( $url, array() );
|
137 |
|
138 |
-
|
139 |
-
$get_enqueued_scripts_src = get_option( 'all_theme_scripts_src' );
|
140 |
-
$get_enqueued_styles_handle = get_option( 'all_theme_styles_handle' );
|
141 |
|
142 |
-
if ( get_option('sbp_page_time') == '' ) {
|
143 |
-
update_option( 'sbp_page_time', $timer_stop );
|
144 |
}
|
145 |
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
|
150 |
-
|
151 |
-
|
152 |
}
|
153 |
|
154 |
-
if ( get_option( 'all_theme_scripts_src') == '' ) {
|
155 |
-
update_option( 'all_theme_scripts_src', $get_enqueued_scripts_src );
|
156 |
-
}
|
157 |
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
|
|
168 |
}
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
/*----------------------------------------------------------------------------------------------------------
|
174 |
-
Deactivate the plugin
|
175 |
-
-----------------------------------------------------------------------------------------------------------*/
|
176 |
|
177 |
-
|
178 |
-
delete_option( 'sbp_integer' );
|
179 |
}
|
180 |
|
|
|
|
|
|
|
181 |
|
182 |
-
|
183 |
-
Add a small css to activate a fade-in effect on lazy load images & wll be also used to output some frontend css in future development
|
184 |
-
--------------------------------------------------------------------------------------------------------------------------------------------*/
|
185 |
-
|
186 |
-
public function sbp_fade_in_style() {
|
187 |
-
echo "<style>img.crazy_lazy {opacity:0}</style>";
|
188 |
-
}
|
189 |
|
|
|
|
|
|
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
-----------------------------------------------------------------------------------------------------------*/
|
194 |
-
|
195 |
-
function sbp_enqueue_styles( $hook ) {
|
196 |
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
return;
|
201 |
-
wp_enqueue_style( 'sbp-styles', plugin_dir_url( __FILE__ ) . 'css/style.dev.css' ); // change to style.dev.css to debug the plugin style sbp_style.min
|
202 |
-
wp_enqueue_style( 'jquery-ui', plugin_dir_url( __FILE__ ) . 'css/jquery-ui.min.css' );
|
203 |
|
204 |
-
|
|
|
|
|
205 |
|
|
|
|
|
|
|
206 |
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
if ( $hook_sbp != $sbp_settings_page )
|
215 |
-
return;
|
216 |
-
wp_enqueue_script( 'jquery-ui-slider' );
|
217 |
-
wp_enqueue_script( 'sbp-slide', plugins_url('inc/js/sbp-slide.js', __FILE__ ), array( 'jquery', 'jquery-ui-slider' ), SPEED_BOOSTER_PACK_VERSION, true );
|
218 |
-
wp_enqueue_script( 'sbp-hide', plugins_url('inc/js/sbp-hide.js', __FILE__ ), array( 'jquery' ), SPEED_BOOSTER_PACK_VERSION, true );
|
219 |
|
220 |
-
|
|
|
|
|
221 |
|
|
|
222 |
|
223 |
-
/*----------------------------------------------------------------------------------------------------------
|
224 |
-
Enqueue script to plugin options page for collapsible options
|
225 |
-
-----------------------------------------------------------------------------------------------------------*/
|
226 |
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
return;
|
231 |
-
wp_enqueue_script( 'postbox' );
|
232 |
-
wp_enqueue_script( 'postbox-edit', plugins_url('inc/js/post-tabs-edit.js', __FILE__ ), array( 'jquery', 'postbox' ) );
|
233 |
-
}
|
234 |
|
|
|
|
|
235 |
|
236 |
-
/*----------------------------------------------------------------------------------------------------------
|
237 |
-
Add settings link on plugins page
|
238 |
-
-----------------------------------------------------------------------------------------------------------*/
|
239 |
|
240 |
-
|
|
|
|
|
241 |
|
242 |
-
$
|
243 |
-
array_unshift( $links, $settings_link );
|
244 |
-
return $links;
|
245 |
|
246 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
|
|
|
248 |
|
249 |
-
/*----------------------------------------------------------------------------------------------------------
|
250 |
-
Render the plugin name, its version and active options in page source, useful for debugging
|
251 |
-
-----------------------------------------------------------------------------------------------------------*/
|
252 |
|
253 |
-
|
|
|
|
|
254 |
|
255 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
256 |
|
257 |
-
|
|
|
|
|
|
|
|
|
258 |
|
259 |
-
|
260 |
-
|
261 |
-
|
|
|
262 |
|
263 |
-
|
264 |
-
echo '<!-- CSS to footer: enabled -->' . "\n";
|
265 |
-
}
|
266 |
|
267 |
-
if ( isset( $sbp_options['defer_parsing'] ) ) {
|
268 |
-
echo '<!-- Defer parsing of js: enabled -->' . "\n";
|
269 |
-
}
|
270 |
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
|
|
|
275 |
|
276 |
-
|
|
|
277 |
|
278 |
-
|
279 |
|
280 |
-
}
|
|
|
|
|
281 |
|
282 |
-
if( class_exists( 'Speed_Booster_Pack' ) ) {
|
283 |
|
284 |
// Installation and uninstallation hooks
|
285 |
register_activation_hook( __FILE__, array( 'Speed_Booster_Pack', 'sbp_activate' ) );
|
@@ -288,4 +276,6 @@ if( class_exists( 'Speed_Booster_Pack' ) ) {
|
|
288 |
// instantiate the plugin class
|
289 |
$speed_booster_pack = new Speed_Booster_Pack();
|
290 |
|
291 |
-
}
|
|
|
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Plugin Name: Speed Booster Pack
|
4 |
+
* Plugin URI: http://wordpress.org/plugins/speed-booster-pack/
|
5 |
+
* Description: Speed Booster Pack allows you to improve your page loading speed and get a higher score on the major
|
6 |
+
* speed testing services such as <a href="http://gtmetrix.com/">GTmetrix</a>, <a
|
7 |
+
* href="http://developers.google.com/speed/pagespeed/insights/">Google PageSpeed</a> or other speed testing tools.
|
8 |
+
* Version: 3.7.2
|
9 |
+
* Author: Macho Themes
|
10 |
+
* Author URI: https://www.machothemes.com/
|
11 |
+
* License: GPLv3
|
12 |
+
*/
|
13 |
+
|
14 |
+
/* Copyright 2018 Macho Themes (email : support [at] machothemes [dot] com)
|
15 |
|
16 |
THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
|
17 |
IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
|
28 |
FOUNDATION, INC., 51 FRANKLIN ST, FIFTH FLOOR, BOSTON, MA 02110-1301 USA
|
29 |
*/
|
30 |
|
31 |
+
|
32 |
+
//@todo: rework the CSS Async functionality
|
33 |
+
//@todo: fix lazyLoad with WooCommerce <- it actually works flawlessly, it doesn't seem to work with AO and/or Cloudflare hosted CSS
|
34 |
+
//@todo: add system info menu page
|
35 |
+
//@todo: automatically collapse accordeons on "advanced" tab
|
36 |
+
|
37 |
+
|
38 |
/*----------------------------------------------------------------------------------------------------------
|
39 |
Global Variables
|
40 |
-----------------------------------------------------------------------------------------------------------*/
|
41 |
|
42 |
+
/**
|
43 |
+
* Default plugin values
|
44 |
+
*
|
45 |
+
* @since 3.7
|
46 |
+
*/
|
47 |
+
$sbp_defaults = array(
|
48 |
+
'remove_emojis' => 1, // remove emoji scripts
|
49 |
+
'remove_wsl' => 1, // remove WSL link in header
|
50 |
+
'remove_adjacent' => 1, // remove post adjacent links
|
51 |
+
'wml_link' => 1, // remove Windows Manifest Live link
|
52 |
+
'rsd_link' => 1, // remove really simple discovery
|
53 |
+
'wp_generator' => 1, // remove WP version
|
54 |
+
'remove_all_feeds' => 1, // remove all WP feeds
|
55 |
+
'disable_xmlrpc' => 1, // disable XML-RPC pingbacks
|
56 |
+
'font_awesome' => 1, // remove extra font awesome styles
|
57 |
+
'query_strings' => 1, // remove query strings
|
58 |
+
'use_google_libs' => 1, // serve JS assets (when possible) from Google CDN
|
59 |
+
);
|
60 |
+
|
61 |
+
$sbp_options = get_option( 'sbp_settings', (array) $sbp_defaults ); // retrieve the plugin settings from the options table
|
62 |
|
63 |
/*----------------------------------------------------------------------------------------------------------
|
64 |
Define some useful plugin constants
|
65 |
-----------------------------------------------------------------------------------------------------------*/
|
66 |
|
67 |
+
define( 'SPEED_BOOSTER_PACK_PATH', plugin_dir_path( __FILE__ ) ); // Defining plugin dir path
|
68 |
+
define( 'SPEED_BOOSTER_PACK_VERSION', '3.7.2' ); // Defining plugin version
|
69 |
+
define( 'SBP_FOOTER', 10 ); // Defining css position
|
70 |
+
define( 'SBP_FOOTER_LAST', 99999 ); // Defining css last position
|
|
|
|
|
|
|
71 |
|
72 |
/*----------------------------------------------------------------------------------------------------------
|
73 |
Main Plugin Class
|
74 |
-----------------------------------------------------------------------------------------------------------*/
|
75 |
|
76 |
+
if ( ! class_exists( 'Speed_Booster_Pack' ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
+
class Speed_Booster_Pack {
|
|
|
79 |
|
80 |
+
/*----------------------------------------------------------------------------------------------------------
|
81 |
+
Function Construct
|
82 |
+
-----------------------------------------------------------------------------------------------------------*/
|
83 |
|
84 |
+
public function __construct() {
|
85 |
+
global $sbp_options;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
+
// Enqueue admin scripts
|
88 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_admin_enqueue_scripts' ) );
|
89 |
|
90 |
+
/**
|
91 |
+
* Should remain disabled until we release wpspeedbooster.com
|
92 |
+
*
|
93 |
+
* @since: 3.7
|
94 |
+
*
|
95 |
+
*/
|
96 |
+
//add_action( 'wp_dashboard_setup', [ $this, 'sbp_load_dashboard_widget' ] );
|
97 |
|
|
|
98 |
|
99 |
+
// load plugin textdomain
|
100 |
+
add_action( 'plugins_loaded', array( $this, 'sbp_load_translation' ) );
|
101 |
|
102 |
+
add_action( 'admin_notices', array( &$this, 'sbp_display_notices' ) );
|
103 |
+
add_action( 'wp_ajax_sbp_dismiss_notices', array( &$this, 'sbp_dismiss_notices' ) );
|
|
|
104 |
|
105 |
+
// Load plugin settings page
|
106 |
+
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/settings.php' );
|
107 |
+
$Speed_Booster_Pack_Options = new Speed_Booster_Pack_Options();
|
108 |
|
109 |
+
// Load main plugin functions
|
110 |
+
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/core.php' );
|
111 |
+
$Speed_Booster_Pack_Core = new Speed_Booster_Pack_Core();
|
112 |
|
113 |
+
// Enqueue admin style
|
114 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_enqueue_styles' ) );
|
|
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
+
// Filters
|
118 |
+
$this->path = plugin_basename( __FILE__ );
|
119 |
+
add_filter( "plugin_action_links_$this->path", array( $this, 'sbp_settings_link' ) );
|
|
|
120 |
|
121 |
+
// load the uninstall feedback class
|
122 |
+
require_once 'feedback/class-epsilon-feedback.php';
|
123 |
+
new Epsilon_Feedback( __FILE__ );
|
124 |
|
125 |
+
} // END public function __construct
|
126 |
|
|
|
|
|
|
|
127 |
|
128 |
+
function sbp_load_dashboard_widget() {
|
|
|
129 |
|
130 |
+
require_once plugin_dir_path( __FILE__ ) . 'widgets/dashboard-widget.php';
|
|
|
|
|
131 |
|
|
|
|
|
132 |
}
|
133 |
|
134 |
+
/*----------------------------------------------------------------------------------------------------------
|
135 |
+
Load plugin textdomain
|
136 |
+
-----------------------------------------------------------------------------------------------------------*/
|
137 |
|
138 |
+
function sbp_load_translation() {
|
139 |
+
load_plugin_textdomain( 'sb-pack', false, SPEED_BOOSTER_PACK_PATH . '/lang/' );
|
140 |
}
|
141 |
|
|
|
|
|
|
|
142 |
|
143 |
+
/*----------------------------------------------------------------------------------------------------------
|
144 |
+
Display/dismiss admin notices if needed
|
145 |
+
-----------------------------------------------------------------------------------------------------------*/
|
146 |
|
147 |
+
function sbp_display_notices() {
|
148 |
+
if ( ! get_option( 'sbp_news' ) ) {
|
149 |
+
global $sbp_settings_page;
|
150 |
+
$screen = get_current_screen();
|
151 |
+
if ( $screen->id != $sbp_settings_page ) {
|
152 |
+
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/template/notice.php' );
|
153 |
+
}
|
154 |
+
}
|
155 |
}
|
156 |
|
157 |
+
function sbp_dismiss_notices() {
|
158 |
+
update_option( 'sbp_news', true );
|
|
|
|
|
|
|
|
|
159 |
|
160 |
+
return json_encode( array( "Status" => 0 ) );
|
|
|
161 |
}
|
162 |
|
163 |
+
/*----------------------------------------------------------------------------------------------------------
|
164 |
+
Activate the plugin
|
165 |
+
-----------------------------------------------------------------------------------------------------------*/
|
166 |
|
167 |
+
public static function sbp_activate() {
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
|
169 |
+
$sbp_options = get_option( 'sbp_settings', '' );
|
170 |
+
$timer_stop = timer_stop( 0, 2 );
|
171 |
+
$get_num_queries = get_num_queries();
|
172 |
|
173 |
+
$url = get_site_url();
|
174 |
+
$response = wp_remote_get( $url, array() );
|
|
|
|
|
|
|
175 |
|
176 |
+
$get_enqueued_scripts_handle = get_option( 'all_theme_scripts_handle' );
|
177 |
+
$get_enqueued_scripts_src = get_option( 'all_theme_scripts_src' );
|
178 |
+
$get_enqueued_styles_handle = get_option( 'all_theme_styles_handle' );
|
|
|
|
|
|
|
179 |
|
180 |
+
if ( get_option( 'sbp_page_time' ) == '' ) {
|
181 |
+
update_option( 'sbp_page_time', $timer_stop );
|
182 |
+
}
|
183 |
|
184 |
+
if ( get_option( 'sbp_page_queries' ) == '' ) {
|
185 |
+
update_option( 'sbp_page_queries', $get_num_queries );
|
186 |
+
}
|
187 |
|
188 |
+
if ( get_option( 'all_theme_scripts_handle' ) == '' ) {
|
189 |
+
update_option( 'all_theme_scripts_handle', $get_enqueued_scripts_handle );
|
190 |
+
}
|
191 |
|
192 |
+
if ( get_option( 'all_theme_scripts_src' ) == '' ) {
|
193 |
+
update_option( 'all_theme_scripts_src', $get_enqueued_scripts_src );
|
194 |
+
}
|
|
|
|
|
|
|
|
|
|
|
195 |
|
196 |
+
if ( get_option( 'all_theme_styles_handle' ) == '' ) {
|
197 |
+
update_option( 'all_theme_styles_handle', $get_enqueued_styles_handle );
|
198 |
+
}
|
199 |
|
200 |
+
} // END public static function sb_activate
|
201 |
|
|
|
|
|
|
|
202 |
|
203 |
+
/*----------------------------------------------------------------------------------------------------------
|
204 |
+
Deactivate the plugin
|
205 |
+
-----------------------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
206 |
|
207 |
+
public static function sbp_deactivate() {
|
208 |
+
}
|
209 |
|
|
|
|
|
|
|
210 |
|
211 |
+
/*----------------------------------------------------------------------------------------------------------
|
212 |
+
CSS style of the plugin options page
|
213 |
+
-----------------------------------------------------------------------------------------------------------*/
|
214 |
|
215 |
+
function sbp_enqueue_styles( $hook ) {
|
|
|
|
|
216 |
|
217 |
+
// load stylesheet only on plugin options page
|
218 |
+
global $sbp_settings_page;
|
219 |
+
if ( $hook != $sbp_settings_page ) {
|
220 |
+
return;
|
221 |
+
}
|
222 |
+
wp_enqueue_style( 'sbp-styles', plugin_dir_url( __FILE__ ) . 'css/style.css' );
|
223 |
+
wp_enqueue_style( 'jquery-ui', plugin_dir_url( __FILE__ ) . 'css/vendors/jquery-ui/jquery-ui.min.css' );
|
224 |
|
225 |
+
} // End function sbp_enqueue_styles
|
226 |
|
|
|
|
|
|
|
227 |
|
228 |
+
/*----------------------------------------------------------------------------------------------------------
|
229 |
+
Enqueue admin scripts to plugin options page
|
230 |
+
-----------------------------------------------------------------------------------------------------------*/
|
231 |
|
232 |
+
public function sbp_admin_enqueue_scripts( $hook_sbp ) {
|
233 |
+
// load scripts only on plugin options page
|
234 |
+
global $sbp_settings_page;
|
235 |
+
if ( $hook_sbp != $sbp_settings_page ) {
|
236 |
+
return;
|
237 |
+
}
|
238 |
+
wp_enqueue_script( 'jquery-ui-slider' );
|
239 |
+
wp_enqueue_script( 'postbox' );
|
240 |
|
241 |
+
wp_enqueue_script( 'sbp-admin-scripts', plugins_url( 'inc/js/admin-scripts.js', __FILE__ ), array(
|
242 |
+
'jquery',
|
243 |
+
'postbox',
|
244 |
+
'jquery-ui-slider',
|
245 |
+
), SPEED_BOOSTER_PACK_VERSION, true );
|
246 |
|
247 |
+
wp_enqueue_script( 'sbp-plugin-install', plugins_url( 'inc/js/plugin-install.js', __FILE__ ), array(
|
248 |
+
'jquery',
|
249 |
+
'updates',
|
250 |
+
), SPEED_BOOSTER_PACK_VERSION, true );
|
251 |
|
252 |
+
}
|
|
|
|
|
253 |
|
|
|
|
|
|
|
254 |
|
255 |
+
/*----------------------------------------------------------------------------------------------------------
|
256 |
+
Add settings link on plugins page
|
257 |
+
-----------------------------------------------------------------------------------------------------------*/
|
258 |
|
259 |
+
function sbp_settings_link( $links ) {
|
260 |
|
261 |
+
$settings_link = ' <a href="admin.php?page=sbp-options">Settings</a > ';
|
262 |
+
array_unshift( $links, $settings_link );
|
263 |
|
264 |
+
return $links;
|
265 |
|
266 |
+
} // End function sbp_settings_link
|
267 |
+
}// End class Speed_Booster_Pack
|
268 |
+
} // End if (!class_exists("Speed_Booster_Pack")) (1)
|
269 |
|
270 |
+
if ( class_exists( 'Speed_Booster_Pack' ) ) {
|
271 |
|
272 |
// Installation and uninstallation hooks
|
273 |
register_activation_hook( __FILE__, array( 'Speed_Booster_Pack', 'sbp_activate' ) );
|
276 |
// instantiate the plugin class
|
277 |
$speed_booster_pack = new Speed_Booster_Pack();
|
278 |
|
279 |
+
} // End if (!class_exists("Speed_Booster_Pack")) (2)
|
280 |
+
|
281 |
+
// make sure to update the path to where you cloned the projects to!
|
widgets/dashboard-widget.php
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?Php
|
2 |
+
|
3 |
+
// WordPress Events and News
|
4 |
+
wp_add_dashboard_widget( 'sbp_dashboard_primary', __( 'Speed Booster Pack Overview' ), 'sbp_dashboard_events_news' );
|
5 |
+
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Renders the Events and News dashboard widget.
|
9 |
+
*
|
10 |
+
* @since 3.7
|
11 |
+
*/
|
12 |
+
function sbp_dashboard_events_news() {
|
13 |
+
|
14 |
+
?>
|
15 |
+
|
16 |
+
<div class="wordpress-news hide-if-no-js">
|
17 |
+
<?php sbp_dashboard_widget(); ?>
|
18 |
+
</div>
|
19 |
+
|
20 |
+
|
21 |
+
<!--
|
22 |
+
<p class="community-events-footer">
|
23 |
+
see this:
|
24 |
+
- https://github.com/WordPress/WordPress/blob/921e131eae45801b8fdb1ecfceb5d7839fdfd509/wp-admin/includes/dashboard.php#L1124-L1159
|
25 |
+
- https://codex.wordpress.org/Dashboard_Widgets_API#Advanced:_Forcing_your_widget_to_the_top
|
26 |
+
|
27 |
+
</p>
|
28 |
+
-->
|
29 |
+
|
30 |
+
<?php
|
31 |
+
}
|
32 |
+
|
33 |
+
|
34 |
+
/**
|
35 |
+
* 'WordPress Events and News' dashboard widget.
|
36 |
+
*
|
37 |
+
* @since 3.7
|
38 |
+
*/
|
39 |
+
function sbp_dashboard_widget() {
|
40 |
+
$feeds = array(
|
41 |
+
'news' => array(
|
42 |
+
'link' => apply_filters( 'sbp_dashboard_primary_link', __( 'https://www.machothemes.com/' ) ),
|
43 |
+
'url' => apply_filters( 'sbp_dashboard_primary_feed', __( 'https://www.machothemes.com/blog/feed/' ) ),
|
44 |
+
'title' => apply_filters( 'sbp_dashboard_primary_title', __( 'Speed Booster Pack Overview' ) ),
|
45 |
+
'items' => 3,
|
46 |
+
'show_summary' => 1,
|
47 |
+
'show_author' => 0,
|
48 |
+
'show_date' => 0,
|
49 |
+
),
|
50 |
+
);
|
51 |
+
|
52 |
+
sbp_dashboard_primary_output( 'sbp_dashboard_primary', $feeds );
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Display the WordPress events and news feeds.
|
57 |
+
*
|
58 |
+
* @since 3.7
|
59 |
+
*
|
60 |
+
* @param string $widget_id Widget ID.
|
61 |
+
* @param array $feeds Array of RSS feeds.
|
62 |
+
*/
|
63 |
+
function sbp_dashboard_primary_output( $widget_id, $feeds ) {
|
64 |
+
foreach ( $feeds as $type => $args ) {
|
65 |
+
$args['type'] = $type;
|
66 |
+
echo '<div class="rss-widget">';
|
67 |
+
wp_widget_rss_output( $args['url'], $args );
|
68 |
+
echo '</div>';
|
69 |
+
}
|
70 |
+
}
|