Version Description
- Added option to load CSS asynchronously to render your page more quickly and get a higher score on the major speed testing services
- Added option to inline and minify all CSS styles and move them to the header or to the footer, to eliminate external render-blocking CSS and optimize CSS delivery.
- Added option to change the default image compression level, to help your pages load faster and keep file sizes smaller.
- Added memory usage information and active plugins number in the plugin options page.
- Replaced PHP version info with memory usage information (more useful).
- Added Romanian translation and POT file. Translators are welcome!
Download this release
Release Info
Developer | tiguan |
Plugin | Speed Booster Pack |
Version | 1.8 |
Comparing to | |
See all releases |
Code changes from version 1.7 to 1.8
- css/jquery-ui.min.css +7 -0
- css/sbp_style.min.css +1 -1
- css/style.dev.css +187 -34
- images/1x1.trans.gif +0 -0
- inc/core.php +150 -19
- inc/css-optimizer.php +157 -0
- inc/js/jquery.sonar.js +0 -421
- inc/js/jquery.sonar.min.js +0 -1
- inc/js/sbp-lazy-load.js +0 -30
- inc/lazy-load.php +52 -52
- inc/settings.php +9 -1
- inc/template/options.php +206 -127
- inc/use-google-libraries.php +7 -7
- js/sbp-slider.js +13 -0
- lang/ro_RO.mo +0 -0
- lang/ro_RO.po +230 -0
- lang/sb-pack.mo +0 -0
- lang/sb-pack.po +114 -35
- lang/sb-pack.pot +214 -0
- readme.txt +31 -10
- speed-booster-pack.php +67 -41
css/jquery-ui.min.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wrap .sb-pack
|
1 |
+
.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-title-div{height:50px;clear:both}.wrap .sb-pack .sbp-amount{background-color:transparent;border:medium 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:7px 10px;background-color:#2DCB73;color:#FFF;font-size:16px;text-shadow:1px 1px #1A9E51}.wrap .sb-pack .td-margin{margin:1.5em 0}.wrap .sb-pack .td-border{border-bottom:1px solid #E1E1E1;margin:4em 0 3em}.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;position:relative;overflow:hidden}.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:none repeat scroll 0 0 #80828F;padding:20px 15px}.wrap .sb-pack .sbp-box-legend{background:none repeat scroll 0 0 #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/0.7 dashicons;vertical-align:top;color:#FA5148;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;-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);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 none;cursor:pointer}.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}.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-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-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{-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);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}}
|
css/style.dev.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
-
.wrap .sb-pack {
|
2 |
-
|
3 |
}
|
4 |
|
5 |
.wrap .sb-pack .welcome-panel h4 {
|
@@ -11,14 +11,53 @@
|
|
11 |
clear: both;
|
12 |
}
|
13 |
|
14 |
-
.wrap .sb-pack .
|
15 |
-
|
16 |
-
border:
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
}
|
23 |
|
24 |
.wrap .sb-pack .sbp-box hr {
|
@@ -129,6 +168,10 @@
|
|
129 |
|
130 |
}
|
131 |
|
|
|
|
|
|
|
|
|
132 |
.wrap .sb-pack label:before {
|
133 |
content: "\2717";
|
134 |
font-size: 16px;
|
@@ -136,28 +179,55 @@
|
|
136 |
text-align: center;
|
137 |
color: #fff;
|
138 |
display: inline-block;
|
139 |
-
width:
|
140 |
-
height:
|
141 |
margin-right: 10px;
|
142 |
position: absolute;
|
143 |
left: 0;
|
144 |
background: #C9D6E2;
|
145 |
-
-webkit-border-radius: 4px;
|
146 |
-
-moz-border-radius: 4px;
|
147 |
-
border-radius: 4px;
|
148 |
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
149 |
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
150 |
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
|
151 |
}
|
152 |
|
153 |
-
.wrap .sb-pack input[type=checkbox]
|
|
|
154 |
display: none;
|
155 |
}
|
156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
.wrap .sb-pack input[type=checkbox]:checked + label:before {
|
158 |
content: "\2714";
|
159 |
background: #2DCB73;
|
160 |
text-shadow: 1px 1px 1px #148D44;
|
|
|
161 |
font-size: 16px;
|
162 |
-webkit-font-smoothing: antialiased;
|
163 |
color: #fff;
|
@@ -182,14 +252,105 @@
|
|
182 |
|
183 |
.wrap .sb-pack .sbp-stats {
|
184 |
font-size: 16px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
}
|
186 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
/* Progress Bars
|
188 |
-------------------------------------------------------------- */
|
189 |
.wrap .sb-pack .sbp-progress.time,
|
190 |
.wrap .sb-pack .sbp-progress.queries {
|
191 |
height: 30px;
|
192 |
-
width:
|
193 |
display: inline-block;
|
194 |
position: relative;
|
195 |
background-color: #F1F2F7;
|
@@ -197,16 +358,10 @@
|
|
197 |
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
198 |
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
199 |
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
200 |
-
-webkit-border-radius: 4px;
|
201 |
-
-moz-border-radius: 4px;
|
202 |
-
border-radius: 4px;
|
203 |
-
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
204 |
-
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
205 |
-
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
206 |
}
|
207 |
.wrap .sbp-progress.time > span,
|
208 |
.wrap .sbp-progress.queries > span {
|
209 |
-
|
210 |
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #7EDBA5),color-stop(1, #2DCB73));
|
211 |
background-image: -webkit-linear-gradient(top, #7EDBA5, #2DCB73);
|
212 |
background-image: -moz-linear-gradient(top, #7EDBA5, #2DCB73);
|
@@ -243,15 +398,13 @@
|
|
243 |
.wrap .sb-pack .sbp-values {
|
244 |
float: right;
|
245 |
padding: 0 5px;
|
246 |
-
background-color: #
|
247 |
color: #fff;
|
248 |
-
width:
|
249 |
height: 30px;
|
250 |
line-height: 30px;
|
251 |
text-align: center;
|
252 |
-
-
|
253 |
-
-moz-border-radius: 4px;
|
254 |
-
border-radius: 4px;
|
255 |
}
|
256 |
|
257 |
.wrap .sb-pack .sbp-numbers {
|
@@ -290,8 +443,8 @@
|
|
290 |
to { opacity: 1; }
|
291 |
}
|
292 |
|
293 |
-
/* Opera */
|
294 |
-
@-o-keyframes opacity {
|
295 |
-
|
296 |
-
|
297 |
-
|
1 |
+
.wrap .sb-pack .welcome-panel .welcome-panel-column:first-child {
|
2 |
+
display: block !important;
|
3 |
}
|
4 |
|
5 |
.wrap .sb-pack .welcome-panel h4 {
|
11 |
clear: both;
|
12 |
}
|
13 |
|
14 |
+
.wrap .sb-pack .sbp-amount {
|
15 |
+
background-color: transparent;
|
16 |
+
border: medium none;
|
17 |
+
box-shadow: none;
|
18 |
+
font-size: 16px;
|
19 |
+
}
|
20 |
+
|
21 |
+
.wrap .sb-pack .sbp-slider {
|
22 |
+
width: 40%;
|
23 |
+
}
|
24 |
+
|
25 |
+
.wrap .sb-pack p {
|
26 |
+
color: #464646;
|
27 |
+
line-height: 1.6;
|
28 |
+
}
|
29 |
+
|
30 |
+
.wrap .sb-pack .debug-info {
|
31 |
+
margin-top: 19px;
|
32 |
+
border: 1px solid #1A9E51;
|
33 |
+
padding: 7px 10px;
|
34 |
+
background-color: #2DCB73;
|
35 |
+
color: #FFF;
|
36 |
+
font-size: 16px;
|
37 |
+
text-shadow: 1px 1px #1A9E51;
|
38 |
+
}
|
39 |
+
|
40 |
+
.wrap .sb-pack .td-margin {
|
41 |
+
margin: 1.5em 0 1.5em;
|
42 |
+
}
|
43 |
+
|
44 |
+
|
45 |
+
.wrap .sb-pack .td-border {
|
46 |
+
border-bottom: 1px solid #E1E1E1;
|
47 |
+
margin: 4em 0 3em;
|
48 |
+
}
|
49 |
+
|
50 |
+
.wrap .sb-pack .td-border-last {
|
51 |
+
border-bottom: 1px solid #E1E1E1;
|
52 |
+
margin: 1.5em 0;
|
53 |
+
}
|
54 |
+
|
55 |
+
.wrap .sb-pack .sbp-radio-content {
|
56 |
+
display: block;
|
57 |
+
}
|
58 |
+
|
59 |
+
.wrap .sb-pack .sbp-radio-content label {
|
60 |
+
display: block !important;
|
61 |
}
|
62 |
|
63 |
.wrap .sb-pack .sbp-box hr {
|
168 |
|
169 |
}
|
170 |
|
171 |
+
/*.wrap .sb-pack #sbp-css-content {
|
172 |
+
display: none;
|
173 |
+
}*/
|
174 |
+
|
175 |
.wrap .sb-pack label:before {
|
176 |
content: "\2717";
|
177 |
font-size: 16px;
|
179 |
text-align: center;
|
180 |
color: #fff;
|
181 |
display: inline-block;
|
182 |
+
width: 26px;
|
183 |
+
height: 26px;
|
184 |
margin-right: 10px;
|
185 |
position: absolute;
|
186 |
left: 0;
|
187 |
background: #C9D6E2;
|
|
|
|
|
|
|
188 |
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
189 |
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
190 |
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
191 |
+
border: 1px solid #B2BFCA;
|
192 |
}
|
193 |
|
194 |
+
.wrap .sb-pack input[type=checkbox],
|
195 |
+
.wrap .sb-pack input[type=radio] {
|
196 |
display: none;
|
197 |
}
|
198 |
|
199 |
+
/*.wrap .sb-pack .sbp-radio-content label:before {
|
200 |
+
content: "\2630";
|
201 |
+
font-size: 16px;
|
202 |
+
-webkit-font-smoothing: antialiased;
|
203 |
+
text-align: center;
|
204 |
+
color: #fff;
|
205 |
+
font-weight: 700;
|
206 |
+
display: inline-block;
|
207 |
+
width: 24px;
|
208 |
+
height: 24px;
|
209 |
+
line-height: 1.4;
|
210 |
+
margin-right: 10px;
|
211 |
+
position: absolute;
|
212 |
+
left: 0;
|
213 |
+
background: #C9D6E2;
|
214 |
+
border: 1px solid #9CA8B3;
|
215 |
+
}
|
216 |
+
|
217 |
+
.wrap .sb-pack input[type=radio]:checked + label:before {
|
218 |
+
content: "\2630";
|
219 |
+
background: none repeat scroll 0% 0% #2DCB73;
|
220 |
+
text-align: center;
|
221 |
+
font-weight: 700;
|
222 |
+
color: #fff;
|
223 |
+
border: 1px solid #1A9E51;
|
224 |
+
} */
|
225 |
+
|
226 |
.wrap .sb-pack input[type=checkbox]:checked + label:before {
|
227 |
content: "\2714";
|
228 |
background: #2DCB73;
|
229 |
text-shadow: 1px 1px 1px #148D44;
|
230 |
+
border: 1px solid #1A9E51;
|
231 |
font-size: 16px;
|
232 |
-webkit-font-smoothing: antialiased;
|
233 |
color: #fff;
|
252 |
|
253 |
.wrap .sb-pack .sbp-stats {
|
254 |
font-size: 16px;
|
255 |
+
line-height: 1.5;
|
256 |
+
}
|
257 |
+
|
258 |
+
/* Jquery UI slider
|
259 |
+
-------------------------------------------------------------- */
|
260 |
+
|
261 |
+
.wrap .sb-pack.ui-state-default,
|
262 |
+
.wrap .sb-pack .ui-widget-content .ui-state-default,
|
263 |
+
.wrap .sb-pack .ui-widget-header .ui-state-default {
|
264 |
+
border:1px solid #1A9E51;
|
265 |
+
background-color:#2DCB73;
|
266 |
+
font-weight:400;
|
267 |
+
color:#555;
|
268 |
+
outline:0 none;
|
269 |
+
cursor:pointer;
|
270 |
+
}
|
271 |
+
.wrap .sb-pack .ui-state-default:before,
|
272 |
+
.wrap .sb-pack .ui-widget-content .ui-state-default:before,
|
273 |
+
.wrap .sb-pack .ui-widget-header .ui-state-default:before {
|
274 |
+
content:"\2630";
|
275 |
+
display:inline-block;
|
276 |
+
-webkit-font-smoothing:antialiased;
|
277 |
+
color:#fff;
|
278 |
+
font-weight:700;
|
279 |
+
text-shadow:0 1px #1A9E51;
|
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 |
+
.wrap .sb-pack .ui-corner-all,
|
305 |
+
.wrap .sb-pack .ui-corner-top,
|
306 |
+
.wrap .sb-pack .ui-corner-right,
|
307 |
+
.wrap .sb-pack .ui-corner-tr {
|
308 |
+
border-top-right-radius: 0;
|
309 |
+
}
|
310 |
+
.wrap .sb-pack .ui-corner-bottom,
|
311 |
+
.wrap .sb-pack .ui-corner-left,
|
312 |
+
.wrap .sb-pack .ui-corner-bl {
|
313 |
+
border-bottom-left-radius: 0;
|
314 |
+
}
|
315 |
+
.wrap .sb-pack .ui-corner-all,
|
316 |
+
.wrap .sb-pack .ui-corner-bottom,
|
317 |
+
.wrap .sb-pack .ui-corner-right,
|
318 |
+
.wrap .sb-pack .ui-corner-br {
|
319 |
+
border-bottom-right-radius: 0;
|
320 |
+
}
|
321 |
+
|
322 |
+
.wrap .sb-pack .ui-corner-all,
|
323 |
+
.wrap .sb-pack .ui-corner-bottom,
|
324 |
+
.wrap .sb-pack .ui-corner-left,
|
325 |
+
.wrap .sb-pack .ui-corner-bl {
|
326 |
+
border-bottom-left-radius: 0;
|
327 |
+
}
|
328 |
+
|
329 |
+
.wrap .sb-pack .ui-slider-horizontal {
|
330 |
+
height:1.3em;
|
331 |
+
}
|
332 |
+
|
333 |
+
.wrap .sb-pack .ui-slider .ui-slider-handle {
|
334 |
+
width:1.8em;
|
335 |
+
height:1.8em;
|
336 |
+
cursor:pointer;
|
337 |
+
text-align:center;
|
338 |
+
}
|
339 |
+
|
340 |
+
.wrap .sb-pack .ui-widget-content {
|
341 |
+
-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
|
342 |
+
-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
|
343 |
+
box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
|
344 |
+
border:1px solid #B2BFCA;
|
345 |
+
background:#F1F2F7;
|
346 |
+
color:#222
|
347 |
+
}
|
348 |
/* Progress Bars
|
349 |
-------------------------------------------------------------- */
|
350 |
.wrap .sb-pack .sbp-progress.time,
|
351 |
.wrap .sb-pack .sbp-progress.queries {
|
352 |
height: 30px;
|
353 |
+
width: 77%;
|
354 |
display: inline-block;
|
355 |
position: relative;
|
356 |
background-color: #F1F2F7;
|
358 |
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
359 |
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
360 |
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
}
|
362 |
.wrap .sbp-progress.time > span,
|
363 |
.wrap .sbp-progress.queries > span {
|
364 |
+
background-color: #7EDBA5;
|
365 |
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #7EDBA5),color-stop(1, #2DCB73));
|
366 |
background-image: -webkit-linear-gradient(top, #7EDBA5, #2DCB73);
|
367 |
background-image: -moz-linear-gradient(top, #7EDBA5, #2DCB73);
|
398 |
.wrap .sb-pack .sbp-values {
|
399 |
float: right;
|
400 |
padding: 0 5px;
|
401 |
+
background-color: #1AB4EF;
|
402 |
color: #fff;
|
403 |
+
width: 18%;
|
404 |
height: 30px;
|
405 |
line-height: 30px;
|
406 |
text-align: center;
|
407 |
+
text-shadow: 0px -2px #1AB4EF;
|
|
|
|
|
408 |
}
|
409 |
|
410 |
.wrap .sb-pack .sbp-numbers {
|
443 |
to { opacity: 1; }
|
444 |
}
|
445 |
|
446 |
+
/* Opera */
|
447 |
+
@-o-keyframes opacity {
|
448 |
+
from { opacity:0; }
|
449 |
+
to { opacity: 1; }
|
450 |
+
}
|
images/1x1.trans.gif
DELETED
Binary file
|
inc/core.php
CHANGED
@@ -1,10 +1,13 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
3 |
if( !class_exists( 'Speed_Booster_Pack_Core' ) ) {
|
4 |
|
5 |
class Speed_Booster_Pack_Core {
|
6 |
|
7 |
-
|
8 |
public function __construct() {
|
9 |
|
10 |
global $sbp_options;
|
@@ -12,7 +15,10 @@ if( !class_exists( 'Speed_Booster_Pack_Core' ) ) {
|
|
12 |
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_no_more_fontawesome'), 9999 );
|
13 |
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_move_scripts_to_footer' ) );
|
14 |
add_action( 'wp_footer', array( $this, 'sbp_show_page_load_stats' ), 999 );
|
15 |
-
add_action('after_setup_theme', array( $this, 'sbp_junk_header_tags' ) );
|
|
|
|
|
|
|
16 |
|
17 |
// Use Google Libraries
|
18 |
if ( !is_admin() and isset( $sbp_options['use_google_libs'] ) ) {
|
@@ -54,9 +60,124 @@ if( !class_exists( 'Speed_Booster_Pack_Core' ) ) {
|
|
54 |
add_filter( 'style_loader_src', array( $this, 'sbp_remove_query_strings_3' ), 15, 1 );
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
57 |
} // END public public function __construct
|
58 |
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
/*--------------------------------------------------------------------------------------------------------
|
61 |
Moves scripts to the footer to decrease page load times, while keeping stylesheets in the header
|
62 |
---------------------------------------------------------------------------------------------------------*/
|
@@ -76,9 +197,9 @@ function sbp_move_scripts_to_footer() {
|
|
76 |
} // END function sbp_move_scripts_to_footer
|
77 |
|
78 |
|
79 |
-
|
80 |
Show Number of Queries and Page Load Time
|
81 |
-
|
82 |
|
83 |
function sbp_show_page_load_stats() {
|
84 |
$timer_stop = timer_stop( 0, 2 ); // to display milliseconds instead of seconds usethe following: $timer_stop = 1000 * ( float ) timer_stop( 0, 4 );
|
@@ -88,25 +209,25 @@ function sbp_show_page_load_stats() {
|
|
88 |
}
|
89 |
|
90 |
|
91 |
-
|
92 |
Use Google Libraries
|
93 |
-
|
94 |
|
95 |
function sbp_use_google_libraries() {
|
96 |
|
97 |
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/use-google-libraries.php' );
|
98 |
|
99 |
-
if ( class_exists( '
|
100 |
-
|
101 |
|
102 |
}
|
103 |
|
104 |
} // End function sbp_use_google_libraries()
|
105 |
|
106 |
|
107 |
-
|
108 |
Lazy Load for images
|
109 |
-
|
110 |
|
111 |
function sbp_lazy_load_for_images() {
|
112 |
|
@@ -115,9 +236,20 @@ function sbp_lazy_load_for_images() {
|
|
115 |
} // End function sbp_lazy_load_for_images()
|
116 |
|
117 |
|
118 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
Defer parsing of JavaScript
|
120 |
-
|
121 |
|
122 |
function sbp_defer_parsing_of_js ( $url ) {
|
123 |
|
@@ -134,9 +266,9 @@ function sbp_defer_parsing_of_js ( $url ) {
|
|
134 |
} // END function sbp_defer_parsing_of_js
|
135 |
|
136 |
|
137 |
-
|
138 |
Remove query strings from static resources
|
139 |
-
|
140 |
|
141 |
function sbp_remove_query_strings_1( $src ) { // remove "?ver" string
|
142 |
$rqsfsr = explode( '?ver', $src );
|
@@ -154,9 +286,9 @@ return $rqsfsr[0];
|
|
154 |
}
|
155 |
|
156 |
|
157 |
-
|
158 |
Dequeue extra Font Awesome stylesheet
|
159 |
-
|
160 |
|
161 |
function sbp_no_more_fontawesome() {
|
162 |
global $wp_styles;
|
@@ -179,9 +311,9 @@ function sbp_no_more_fontawesome() {
|
|
179 |
} // End function dfa_no_more_fontawesome
|
180 |
|
181 |
|
182 |
-
|
183 |
Remove junk header tags
|
184 |
-
|
185 |
|
186 |
public function sbp_junk_header_tags() {
|
187 |
|
@@ -220,7 +352,6 @@ public function sbp_junk_header_tags() {
|
|
220 |
|
221 |
} // END public function sbp_junk_header_tags
|
222 |
|
223 |
-
|
224 |
} // END class Speed_Booster_Pack_Core
|
225 |
|
226 |
} // END if(!class_exists('Speed_Booster_Pack_Core'))
|
1 |
<?php
|
2 |
|
3 |
+
/*--------------------------------------------------------------------------------------------------------
|
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;
|
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 |
add_action( 'wp_footer', array( $this, 'sbp_show_page_load_stats' ), 999 );
|
18 |
+
add_action( 'after_setup_theme', array( $this, 'sbp_junk_header_tags' ) );
|
19 |
+
add_action( 'init', array( $this, 'sbp_init') );
|
20 |
+
|
21 |
+
$this->sbp_css_optimizer(); // CSS Optimizer functions
|
22 |
|
23 |
// Use Google Libraries
|
24 |
if ( !is_admin() and isset( $sbp_options['use_google_libs'] ) ) {
|
60 |
add_filter( 'style_loader_src', array( $this, 'sbp_remove_query_strings_3' ), 15, 1 );
|
61 |
}
|
62 |
|
63 |
+
// JPEG Compression filter
|
64 |
+
add_filter( 'jpeg_quality', array( $this, 'filter_image_quality' ) );
|
65 |
+
add_filter( 'wp_editor_set_quality', array( $this, 'filter_image_quality' ) );
|
66 |
+
|
67 |
} // END public public function __construct
|
68 |
|
69 |
|
70 |
+
/*--------------------------------------------------------------------------------------------------------
|
71 |
+
Init the CSS Optimizer actions
|
72 |
+
---------------------------------------------------------------------------------------------------------*/
|
73 |
+
|
74 |
+
function sbp_init() {
|
75 |
+
|
76 |
+
global $sbp_options;
|
77 |
+
|
78 |
+
if ( isset( $sbp_options['sbp_css_async'] ) ) {
|
79 |
+
add_action( 'wp_print_styles', array( $this, 'sbp_print_styles' ), SBP_FOOTER );
|
80 |
+
add_action( 'wp_footer', array( $this, 'sbp_print_delayed_styles' ), SBP_FOOTER+1 );
|
81 |
+
}
|
82 |
+
|
83 |
+
}
|
84 |
+
|
85 |
+
|
86 |
+
/*--------------------------------------------------------------------------------------------------------
|
87 |
+
Get image quality value if it's set. Otherwise it's set to 90
|
88 |
+
---------------------------------------------------------------------------------------------------------*/
|
89 |
+
|
90 |
+
function filter_image_quality() {
|
91 |
+
|
92 |
+
if ( get_option( 'sbp_integer' ) ) {
|
93 |
+
$sbp_compression = get_option( 'sbp_integer' );
|
94 |
+
} else {
|
95 |
+
$sbp_compression = 90;
|
96 |
+
}
|
97 |
+
|
98 |
+
return $sbp_compression;
|
99 |
+
}
|
100 |
+
|
101 |
+
|
102 |
+
/*--------------------------------------------------------------------------------------------------------
|
103 |
+
ACTION wp_print_styles
|
104 |
+
---------------------------------------------------------------------------------------------------------*/
|
105 |
+
|
106 |
+
function sbp_print_styles() {
|
107 |
+
global $sbp_styles_are_async;
|
108 |
+
global $sbp_styles;
|
109 |
+
global $sbp_options;
|
110 |
+
|
111 |
+
if ( is_admin() || !empty( $sbp_styles_are_async ) ) {
|
112 |
+
return;
|
113 |
+
}
|
114 |
+
|
115 |
+
if ( isset( $sbp_options['sbp_css_minify'] ) ) {
|
116 |
+
$minify = true;
|
117 |
+
}else{
|
118 |
+
$minify = false;
|
119 |
+
}
|
120 |
+
|
121 |
+
$sbp_styles_are_async = true;
|
122 |
+
|
123 |
+
$sbp_styles = sbp_generate_styles_list();
|
124 |
+
|
125 |
+
if ( !isset( $sbp_options['sbp_footer_css'] ) ) {
|
126 |
+
|
127 |
+
$not_inlined = array();
|
128 |
+
|
129 |
+
foreach ( $sbp_styles as $style ) {
|
130 |
+
echo "<style type=\"text/css\" ".($style['media'] ? "media=\"{$style['media']}\"" : '' ).">";
|
131 |
+
if (!sbp_inline_css($style['src'],$minify)){
|
132 |
+
$not_inlined[] = $style;
|
133 |
+
}
|
134 |
+
echo "</style>";
|
135 |
+
}
|
136 |
+
if ( !empty( $not_inlined) ) {
|
137 |
+
foreach ( $not_inlined as $style ){
|
138 |
+
?><link rel="stylesheet" href="<?php echo $style['src']?>" type="text/css" <?php echo $style['media'] ? "media=\"{$style['media']}\"" : ''?> /><?php
|
139 |
+
}
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
sbp_unregister_styles();
|
144 |
+
}
|
145 |
+
|
146 |
+
|
147 |
+
/*--------------------------------------------------------------------------------------------------------
|
148 |
+
ACTION wp_footer
|
149 |
+
---------------------------------------------------------------------------------------------------------*/
|
150 |
+
|
151 |
+
function sbp_print_delayed_styles() {
|
152 |
+
|
153 |
+
global $sbp_styles;
|
154 |
+
global $sbp_options;
|
155 |
+
|
156 |
+
if ( isset( $sbp_options['sbp_css_minify'] ) ) {
|
157 |
+
$minify = true;
|
158 |
+
}else{
|
159 |
+
$minify = false;
|
160 |
+
}
|
161 |
+
|
162 |
+
if ( isset( $sbp_options['sbp_footer_css'] ) ) {
|
163 |
+
|
164 |
+
$not_inlined = array();
|
165 |
+
foreach ( $sbp_styles as $style ) {
|
166 |
+
echo "<style type=\"text/css\" ".($style['media'] ? "media=\"{$style['media']}\"" : '' ).">";
|
167 |
+
if ( !sbp_inline_css($style['src'],$minify) ) {
|
168 |
+
$not_inlined[] = $style;
|
169 |
+
}
|
170 |
+
echo "</style>";
|
171 |
+
}
|
172 |
+
if ( !empty( $not_inlined ) ) {
|
173 |
+
foreach ( $not_inlined as $style ) {
|
174 |
+
?><link rel="stylesheet" href="<?php echo $style['src']?>" type="text/css" <?php echo $style['media'] ? "media=\"{$style['media']}\"" : ''?> /><?php
|
175 |
+
}
|
176 |
+
}
|
177 |
+
}
|
178 |
+
}
|
179 |
+
|
180 |
+
|
181 |
/*--------------------------------------------------------------------------------------------------------
|
182 |
Moves scripts to the footer to decrease page load times, while keeping stylesheets in the header
|
183 |
---------------------------------------------------------------------------------------------------------*/
|
197 |
} // END function sbp_move_scripts_to_footer
|
198 |
|
199 |
|
200 |
+
/*--------------------------------------------------------------------------------------------------------
|
201 |
Show Number of Queries and Page Load Time
|
202 |
+
---------------------------------------------------------------------------------------------------------*/
|
203 |
|
204 |
function sbp_show_page_load_stats() {
|
205 |
$timer_stop = timer_stop( 0, 2 ); // to display milliseconds instead of seconds usethe following: $timer_stop = 1000 * ( float ) timer_stop( 0, 4 );
|
209 |
}
|
210 |
|
211 |
|
212 |
+
/*--------------------------------------------------------------------------------------------------------
|
213 |
Use Google Libraries
|
214 |
+
---------------------------------------------------------------------------------------------------------*/
|
215 |
|
216 |
function sbp_use_google_libraries() {
|
217 |
|
218 |
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/use-google-libraries.php' );
|
219 |
|
220 |
+
if ( class_exists( 'SBP_GoogleLibraries' ) ) {
|
221 |
+
SBP_GoogleLibraries::configure_plugin();
|
222 |
|
223 |
}
|
224 |
|
225 |
} // End function sbp_use_google_libraries()
|
226 |
|
227 |
|
228 |
+
/*--------------------------------------------------------------------------------------------------------
|
229 |
Lazy Load for images
|
230 |
+
---------------------------------------------------------------------------------------------------------*/
|
231 |
|
232 |
function sbp_lazy_load_for_images() {
|
233 |
|
236 |
} // End function sbp_lazy_load_for_images()
|
237 |
|
238 |
|
239 |
+
/*--------------------------------------------------------------------------------------------------------
|
240 |
+
CSS Optimizer
|
241 |
+
---------------------------------------------------------------------------------------------------------*/
|
242 |
+
|
243 |
+
function sbp_css_optimizer() {
|
244 |
+
|
245 |
+
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/css-optimizer.php' );
|
246 |
+
|
247 |
+
} // End function sbp_css_optimizer()
|
248 |
+
|
249 |
+
|
250 |
+
/*--------------------------------------------------------------------------------------------------------
|
251 |
Defer parsing of JavaScript
|
252 |
+
---------------------------------------------------------------------------------------------------------*/
|
253 |
|
254 |
function sbp_defer_parsing_of_js ( $url ) {
|
255 |
|
266 |
} // END function sbp_defer_parsing_of_js
|
267 |
|
268 |
|
269 |
+
/*--------------------------------------------------------------------------------------------------------
|
270 |
Remove query strings from static resources
|
271 |
+
---------------------------------------------------------------------------------------------------------*/
|
272 |
|
273 |
function sbp_remove_query_strings_1( $src ) { // remove "?ver" string
|
274 |
$rqsfsr = explode( '?ver', $src );
|
286 |
}
|
287 |
|
288 |
|
289 |
+
/*--------------------------------------------------------------------------------------------------------
|
290 |
Dequeue extra Font Awesome stylesheet
|
291 |
+
---------------------------------------------------------------------------------------------------------*/
|
292 |
|
293 |
function sbp_no_more_fontawesome() {
|
294 |
global $wp_styles;
|
311 |
} // End function dfa_no_more_fontawesome
|
312 |
|
313 |
|
314 |
+
/*--------------------------------------------------------------------------------------------------------
|
315 |
Remove junk header tags
|
316 |
+
---------------------------------------------------------------------------------------------------------*/
|
317 |
|
318 |
public function sbp_junk_header_tags() {
|
319 |
|
352 |
|
353 |
} // END public function sbp_junk_header_tags
|
354 |
|
|
|
355 |
} // END class Speed_Booster_Pack_Core
|
356 |
|
357 |
} // END if(!class_exists('Speed_Booster_Pack_Core'))
|
inc/css-optimizer.php
ADDED
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*--------------------------------------------------------------------------------------------------------
|
4 |
+
CSS OPTIMIZER - Generate Styles List
|
5 |
+
---------------------------------------------------------------------------------------------------------*/
|
6 |
+
|
7 |
+
function sbp_generate_styles_list() {
|
8 |
+
|
9 |
+
global $wp_styles;
|
10 |
+
|
11 |
+
$list = array();
|
12 |
+
if ( isset( $wp_styles->queue ) && is_array( $wp_styles->queue ) ) {
|
13 |
+
foreach ( $wp_styles->queue as $style ) {
|
14 |
+
|
15 |
+
$list[] = array(
|
16 |
+
'src' => $wp_styles->registered[$style]->src,
|
17 |
+
'media' => $wp_styles->registered[$style]->args
|
18 |
+
);
|
19 |
+
}
|
20 |
+
}
|
21 |
+
|
22 |
+
return $list;
|
23 |
+
|
24 |
+
} // END function sbp_generate_styles_list
|
25 |
+
|
26 |
+
|
27 |
+
/*--------------------------------------------------------------------------------------------------------
|
28 |
+
CSS OPTIMIZER - Deregister all styles
|
29 |
+
---------------------------------------------------------------------------------------------------------*/
|
30 |
+
|
31 |
+
function sbp_unregister_styles() {
|
32 |
+
|
33 |
+
global $wp_styles;
|
34 |
+
|
35 |
+
if ( isset( $wp_styles->queue ) && is_array( $wp_styles->queue ) ) {
|
36 |
+
|
37 |
+
foreach ( $wp_styles->queue as $style ){
|
38 |
+
wp_dequeue_style( $style );
|
39 |
+
wp_deregister_style( $style );
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
} // END function sbp_unregister_styles
|
44 |
+
|
45 |
+
|
46 |
+
/*--------------------------------------------------------------------------------------------------------
|
47 |
+
CSS OPTIMIZER - Generate inline styles
|
48 |
+
---------------------------------------------------------------------------------------------------------*/
|
49 |
+
|
50 |
+
function sbp_inline_css( $url, $minify = true ) {
|
51 |
+
|
52 |
+
$base_url = get_bloginfo( 'wpurl' );
|
53 |
+
$path = false;
|
54 |
+
|
55 |
+
if ( strpos( $url, $base_url ) !== FALSE ) {
|
56 |
+
|
57 |
+
$path = str_replace( $base_url,rtrim(ABSPATH,'/'),$url );
|
58 |
+
|
59 |
+
} elseif ( $url[0]=='/' && $url[1]!='/' ) {
|
60 |
+
|
61 |
+
$path = rtrim( ABSPATH,'/' ).$url;
|
62 |
+
$url = $base_url.$url;
|
63 |
+
}
|
64 |
+
|
65 |
+
if ( $path && file_exists( $path ) ){
|
66 |
+
|
67 |
+
$css = file_get_contents( $path );
|
68 |
+
|
69 |
+
if ( $minify ){
|
70 |
+
$css = sbp_minify_css( $css );
|
71 |
+
}
|
72 |
+
|
73 |
+
$css = sbp_rebuilding_css_urls( $css, $url );
|
74 |
+
|
75 |
+
echo $css;
|
76 |
+
return true;
|
77 |
+
|
78 |
+
} else {
|
79 |
+
|
80 |
+
return false;
|
81 |
+
}
|
82 |
+
|
83 |
+
} // END function sbp_inline_css
|
84 |
+
|
85 |
+
|
86 |
+
/*--------------------------------------------------------------------------------------------------------
|
87 |
+
CSS OPTIMIZER - Rebuilding CSS URLs
|
88 |
+
---------------------------------------------------------------------------------------------------------*/
|
89 |
+
|
90 |
+
function sbp_rebuilding_css_urls($css,$url){
|
91 |
+
$css_dir = substr($url,0,strrpos($url,'/'));
|
92 |
+
$css = preg_replace("/url\((?!data:)['\"]?([^\/][^'\"\)]*)['\"]?\)/i","url({$css_dir}/$1)",$css);
|
93 |
+
|
94 |
+
return $css;
|
95 |
+
}
|
96 |
+
|
97 |
+
|
98 |
+
/*--------------------------------------------------------------------------------------------------------
|
99 |
+
CSS OPTIMIZER - Minify All CSS
|
100 |
+
---------------------------------------------------------------------------------------------------------*/
|
101 |
+
|
102 |
+
|
103 |
+
function sbp_minify_css( $css ) {
|
104 |
+
|
105 |
+
$css = sbp_remove_multiline_comments( $css );
|
106 |
+
$css = str_replace(array("\t","\n","\r"),' ',$css);
|
107 |
+
$cnt = 1;
|
108 |
+
|
109 |
+
while ($cnt>0) {
|
110 |
+
$css = str_replace(' ',' ',$css,$cnt);
|
111 |
+
}
|
112 |
+
|
113 |
+
$css = str_replace(array(' {','{ '),'{',$css);
|
114 |
+
$css = str_replace(array(' }','} ',';}'),'}',$css);
|
115 |
+
$css = str_replace(': ',':',$css);
|
116 |
+
$css = str_replace('; ',';',$css);
|
117 |
+
$css = str_replace(', ',',',$css);
|
118 |
+
|
119 |
+
return $css;
|
120 |
+
}
|
121 |
+
|
122 |
+
|
123 |
+
/*--------------------------------------------------------------------------------------------------------
|
124 |
+
CSS OPTIMIZER - Remove multi-line comments from CSS
|
125 |
+
---------------------------------------------------------------------------------------------------------*/
|
126 |
+
|
127 |
+
function sbp_remove_multiline_comments( $code,$method=0 ) {
|
128 |
+
|
129 |
+
switch ( $method ) {
|
130 |
+
case 1:{
|
131 |
+
|
132 |
+
$code = preg_replace( '/\s*(?!<\")\/\*[^\*]+\*\/(?!\")\s*/' , '' , $code );
|
133 |
+
break;
|
134 |
+
}
|
135 |
+
|
136 |
+
case 0:
|
137 |
+
|
138 |
+
default :{
|
139 |
+
|
140 |
+
$open_pos = strpos($code,'/*');
|
141 |
+
while ( $open_pos !== FALSE ){
|
142 |
+
$close_pos = strpos($code,'*/',$open_pos)+2;
|
143 |
+
if ($close_pos){
|
144 |
+
$code = substr($code,0,$open_pos) . substr($code,$close_pos);
|
145 |
+
} else {
|
146 |
+
$code = substr($code,0,$open_pos);
|
147 |
+
}
|
148 |
+
|
149 |
+
$open_pos = strpos($code,'/*',$open_pos);
|
150 |
+
}
|
151 |
+
|
152 |
+
break;
|
153 |
+
}
|
154 |
+
}
|
155 |
+
|
156 |
+
return $code;
|
157 |
+
}
|
inc/js/jquery.sonar.js
DELETED
@@ -1,421 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
An elem for determining if an elem is within a certain
|
3 |
-
distance from the edge above or below the screen, and attaching
|
4 |
-
a function to execute once the elem is in view.
|
5 |
-
|
6 |
-
General Usage:
|
7 |
-
|
8 |
-
* Place the library anywhere in your JavaScript code before you
|
9 |
-
intend to call the function.
|
10 |
-
|
11 |
-
* To initialize Sonar with a different default distance, modify
|
12 |
-
the sonar = Sonar() line immediately following the Sonar
|
13 |
-
library definition. Example:
|
14 |
-
|
15 |
-
sonar=Sonar(100); // Initializes Sonar with a 100px default distance.
|
16 |
-
|
17 |
-
Note:
|
18 |
-
|
19 |
-
* The default distance is 0 pixels.
|
20 |
-
|
21 |
-
|
22 |
-
sonar.detect() Usage
|
23 |
-
|
24 |
-
* Use sonar.detect(elem, distance) to check if the
|
25 |
-
elem is within screen boundaries.
|
26 |
-
|
27 |
-
@elem - The elem you want to detect visibility.
|
28 |
-
@distance - The distance from the screen edge that should
|
29 |
-
count in the check. Uses default distance if not specified.
|
30 |
-
|
31 |
-
* Note: sonar.detect() adds a property to
|
32 |
-
ojbects called sonarElemTop. Test to ensure there
|
33 |
-
aren't any conflicts with your code. If there
|
34 |
-
are, rename sonarElemTop to something else in the code.
|
35 |
-
|
36 |
-
* sonar.detect() returns:
|
37 |
-
true if the elem is within the screen boundaries
|
38 |
-
false if th elem is out of the screen boundaries
|
39 |
-
|
40 |
-
Example:
|
41 |
-
|
42 |
-
Here's how to check if an advertisment is visible on a
|
43 |
-
page that has the id, "ad".
|
44 |
-
|
45 |
-
if (sonar.detect(document.getElementById("ad")))
|
46 |
-
{
|
47 |
-
alert('The ad is visible on screen!');
|
48 |
-
}
|
49 |
-
else
|
50 |
-
{
|
51 |
-
alert ('The ad is not on screen!);
|
52 |
-
}
|
53 |
-
|
54 |
-
sonar.add() Usage
|
55 |
-
|
56 |
-
* This method stores elems that are then polled
|
57 |
-
on user scroll by the Sonar.detect() method.
|
58 |
-
|
59 |
-
* Polling initializes once the sonar.add() method is passed
|
60 |
-
an elem with the following properties:
|
61 |
-
|
62 |
-
obj : A reference to the elem to observe until it is within
|
63 |
-
the specified distance (px).
|
64 |
-
|
65 |
-
id : An alternative to the obj parameter, an "id" can be used
|
66 |
-
to grab the elem to observe.
|
67 |
-
|
68 |
-
call: The function to call when the elem is within the
|
69 |
-
specified distance (px). The @elem argument will
|
70 |
-
include the elem that triggered the callback.
|
71 |
-
|
72 |
-
px : The specified distance to include as being visible on
|
73 |
-
screen. This property is optional (default is 0).
|
74 |
-
|
75 |
-
Example:
|
76 |
-
|
77 |
-
sonar.add(
|
78 |
-
{
|
79 |
-
obj: document.getElementById("0026-get-out-the-way"),
|
80 |
-
call: function(elem) // elem will include the elem that triggered the function.
|
81 |
-
{
|
82 |
-
swfelem.embedSWF("../player.swf", "0026-get-out-the-way", "640", "500", "9.0.0",
|
83 |
-
{}, {file: "0026-get-out-the-way.flv", fullscreen: true},
|
84 |
-
{allowfullscreen: true, allowscriptaccess: "always"});
|
85 |
-
},
|
86 |
-
px: 400
|
87 |
-
});
|
88 |
-
|
89 |
-
You can also specify an id tag to be grabbed instead of the elem:
|
90 |
-
|
91 |
-
sonar.add(
|
92 |
-
{
|
93 |
-
id: "0026-get-out-the-way",
|
94 |
-
call: function(elem) // elem will include the elem that triggered the function.
|
95 |
-
{
|
96 |
-
swfelem.embedSWF("../player.swf", "0026-get-out-the-way", "640", "500", "9.0.0",
|
97 |
-
{}, {file: "0026-get-out-the-way.flv", fullscreen: true},
|
98 |
-
{allowfullscreen: true, allowscriptaccess: "always"});
|
99 |
-
},
|
100 |
-
px: 400
|
101 |
-
});
|
102 |
-
|
103 |
-
Notes:
|
104 |
-
|
105 |
-
* Setting the body or html of your page to 100% will cause sonar to have
|
106 |
-
an invalid height calculation in Firefox. It is recommended that you
|
107 |
-
do not set this CSS property.
|
108 |
-
|
109 |
-
Example:
|
110 |
-
|
111 |
-
html, body {
|
112 |
-
height:100%; // Do not do this.
|
113 |
-
}
|
114 |
-
|
115 |
-
* If you want to set the default distance to something other
|
116 |
-
than 0, either update the property directly in the code or
|
117 |
-
you can do this:
|
118 |
-
|
119 |
-
sonar.blip.d = 100; // Where 100 = 100 pixels above and below the screen edge.
|
120 |
-
|
121 |
-
* Sleep well at night knowing Sonar automatically cleans up the
|
122 |
-
event listeners on the scroll event once all calls have executed.
|
123 |
-
|
124 |
-
Code History:
|
125 |
-
|
126 |
-
v3 :: 8/14/2009 - David Artz (david.artz@corp.aol.com)
|
127 |
-
* Fixed a bug in the polling code where splicing caused our
|
128 |
-
for loop to skip over the next iteration in the loop. This
|
129 |
-
caused some images in the poll to be detected when they
|
130 |
-
should have been.
|
131 |
-
* Re-factored Sonar to use the "Module" JavaScript library
|
132 |
-
pattern, making our private variables and functions more
|
133 |
-
private and inaccessible from the public interface.
|
134 |
-
* Updated the sonar.add() function to return true or false,
|
135 |
-
useful for determining if Sonar added the elem to the
|
136 |
-
poll or executed its callback immediately.
|
137 |
-
|
138 |
-
v2 :: 3/24/2009 - David Artz (david.artz@corp.aol.com)
|
139 |
-
* Added support for IE 8.
|
140 |
-
* Updated the way scroll top and screen height are detected, now
|
141 |
-
works in IE/FF/Safari quirks mode.
|
142 |
-
* Added null check for IE, it was polling for an elem that had recently
|
143 |
-
been spliced out of the array. Nasty.
|
144 |
-
* Modified for loop to use standard syntax. for (i in x) is known to be
|
145 |
-
buggy with JS frameworks that override arrays.
|
146 |
-
* Added sonar.b property to cache the body element (improving lookup time).
|
147 |
-
|
148 |
-
v1 :: 11/18/2008 - David Artz (david.artz@corp.aol.com)
|
149 |
-
* Officially released code for general use.
|
150 |
-
|
151 |
-
*/
|
152 |
-
|
153 |
-
(function( $, win, doc, undefined ){
|
154 |
-
|
155 |
-
$.fn.sonar = function( distance, full ){
|
156 |
-
// No callbacks, return the results from Sonar for
|
157 |
-
// the first element in the stack.
|
158 |
-
if ( typeof distance === "boolean" ) {
|
159 |
-
full = distance;
|
160 |
-
distance = undefined;
|
161 |
-
}
|
162 |
-
|
163 |
-
return $.sonar( this[0], distance, full );
|
164 |
-
};
|
165 |
-
|
166 |
-
var body = doc.body,
|
167 |
-
$win = $(win),
|
168 |
-
|
169 |
-
onScreenEvent = "scrollin",
|
170 |
-
offScreenEvent = "scrollout",
|
171 |
-
|
172 |
-
detect = function( elem, distance, full ){
|
173 |
-
|
174 |
-
if ( elem ) {
|
175 |
-
|
176 |
-
// Cache the body elem in our private global.
|
177 |
-
body || ( body = doc.body );
|
178 |
-
|
179 |
-
var parentElem = elem, // Clone the elem for use in our loop.
|
180 |
-
|
181 |
-
elemTop = 0, // The resets the calculated elem top to 0.
|
182 |
-
|
183 |
-
// Used to recalculate elem.sonarElemTop if body height changes.
|
184 |
-
bodyHeight = body.offsetHeight,
|
185 |
-
|
186 |
-
// NCZ: I don't think you need innerHeight, I believe all major browsers support clientHeight.
|
187 |
-
screenHeight = win.innerHeight || doc.documentElement.clientHeight || body.clientHeight || 0, // Height of the screen.
|
188 |
-
|
189 |
-
// NCZ: I don't think you need pageYOffset, I believe all major browsers support scrollTop.
|
190 |
-
scrollTop = doc.documentElement.scrollTop || win.pageYOffset || body.scrollTop || 0, // How far the user scrolled down.
|
191 |
-
elemHeight = elem.offsetHeight || 0; // Height of the element.
|
192 |
-
|
193 |
-
// If our custom "sonarTop" variable is undefined, or the document body
|
194 |
-
// height has changed since the last time we ran sonar.detect()...
|
195 |
-
if ( !elem.sonarElemTop || elem.sonarBodyHeight !== bodyHeight ) {
|
196 |
-
|
197 |
-
// Loop through the offsetParents to calculate it.
|
198 |
-
if ( parentElem.offsetParent ) {
|
199 |
-
do {
|
200 |
-
elemTop += parentElem.offsetTop;
|
201 |
-
}
|
202 |
-
while ( parentElem = parentElem.offsetParent );
|
203 |
-
}
|
204 |
-
|
205 |
-
// Set the custom property (sonarTop) to avoid future attempts to calculate
|
206 |
-
// the distance on this elem from the top of the page.
|
207 |
-
elem.sonarElemTop = elemTop;
|
208 |
-
|
209 |
-
// Along the same lines, store the body height when we calculated
|
210 |
-
// the elem's top.
|
211 |
-
elem.sonarBodyHeight = bodyHeight;
|
212 |
-
}
|
213 |
-
|
214 |
-
// If no distance was given, assume 0.
|
215 |
-
distance = distance === undefined ? 0 : distance;
|
216 |
-
|
217 |
-
// Dump all calculated variables.
|
218 |
-
/*
|
219 |
-
console.dir({
|
220 |
-
elem: elem,
|
221 |
-
sonarElemTop: elem.sonarElemTop,
|
222 |
-
elemHeight: elemHeight,
|
223 |
-
scrollTop: scrollTop,
|
224 |
-
screenHeight: screenHeight,
|
225 |
-
distance: distance,
|
226 |
-
full: full
|
227 |
-
});
|
228 |
-
*/
|
229 |
-
|
230 |
-
// If elem bottom is above the screen top and
|
231 |
-
// the elem top is below the screen bottom, it's false.
|
232 |
-
// If full is specified, it si subtracted or added
|
233 |
-
// as needed from the element's height.
|
234 |
-
return (!(elem.sonarElemTop + (full ? 0 : elemHeight) < scrollTop - distance) &&
|
235 |
-
!(elem.sonarElemTop + (full ? elemHeight : 0) > scrollTop + screenHeight + distance));
|
236 |
-
}
|
237 |
-
},
|
238 |
-
|
239 |
-
// Container for elems needing to be polled.
|
240 |
-
pollQueue = {},
|
241 |
-
|
242 |
-
// Indicates if scroll events are bound to the poll.
|
243 |
-
pollActive = 0,
|
244 |
-
|
245 |
-
// Used for debouncing.
|
246 |
-
pollId,
|
247 |
-
|
248 |
-
// Function that handles polling when the user scrolls.
|
249 |
-
poll = function(){
|
250 |
-
|
251 |
-
// Debouncing speed optimization. Essentially prevents
|
252 |
-
// poll requests from queue'ing up and overloading
|
253 |
-
// the scroll event listener.
|
254 |
-
pollId && clearTimeout( pollId );
|
255 |
-
pollId = setTimeout(function(){
|
256 |
-
|
257 |
-
var elem,
|
258 |
-
elems,
|
259 |
-
screenEvent,
|
260 |
-
options,
|
261 |
-
detected,
|
262 |
-
i, l;
|
263 |
-
|
264 |
-
for ( screenEvent in pollQueue ) {
|
265 |
-
|
266 |
-
elems = pollQueue[ screenEvent ];
|
267 |
-
|
268 |
-
for (i = 0, l = elems.length; i < l; i++) {
|
269 |
-
|
270 |
-
options = elems[i];
|
271 |
-
elem = options.elem;
|
272 |
-
|
273 |
-
// console.log("Polling " + elem.id);
|
274 |
-
|
275 |
-
detected = detect( elem, options.px, options.full );
|
276 |
-
|
277 |
-
// If the elem is not detected (offscreen) or detected (onscreen)
|
278 |
-
// remove the elem from the queue and fire the callback.
|
279 |
-
if ( screenEvent === offScreenEvent ? !detected : detected ) {
|
280 |
-
// // console.log(screenEvent);
|
281 |
-
if (!options.tr) {
|
282 |
-
|
283 |
-
if ( elem[ screenEvent ] ) {
|
284 |
-
// console.log("triggered:" + elem.id);
|
285 |
-
// Trigger the onscreen or offscreen event depending
|
286 |
-
// on the desired event.
|
287 |
-
$(elem).trigger( screenEvent );
|
288 |
-
|
289 |
-
options.tr = 1;
|
290 |
-
|
291 |
-
// removeSonar was called on this element, clean it up
|
292 |
-
// instead of triggering the event.
|
293 |
-
} else {
|
294 |
-
// console.log("Deleting " + elem.id);
|
295 |
-
|
296 |
-
// Remove this object from the elem poll container.
|
297 |
-
elems.splice(i, 1);
|
298 |
-
|
299 |
-
// Decrement the counter and length because we just removed
|
300 |
-
// one from it.
|
301 |
-
i--;
|
302 |
-
l--;
|
303 |
-
}
|
304 |
-
}
|
305 |
-
} else {
|
306 |
-
options.tr = 0;
|
307 |
-
}
|
308 |
-
}
|
309 |
-
}
|
310 |
-
|
311 |
-
}, 0 ); // End setTimeout performance tweak.
|
312 |
-
},
|
313 |
-
|
314 |
-
removeSonar = function( elem, screenEvent ){
|
315 |
-
// console.log("Removing " + elem.id);
|
316 |
-
elem[ screenEvent ] = 0;
|
317 |
-
},
|
318 |
-
|
319 |
-
addSonar = function( elem, options ) {
|
320 |
-
// console.log("Really adding " + elem.id);
|
321 |
-
// Prepare arguments.
|
322 |
-
var distance = options.px,
|
323 |
-
full = options.full,
|
324 |
-
screenEvent = options.evt,
|
325 |
-
parent = win, // Getting ready to accept parents: options.parent || win,
|
326 |
-
detected = detect( elem, distance, full /*, parent */ ),
|
327 |
-
triggered = 0;
|
328 |
-
|
329 |
-
elem[ screenEvent ] = 1;
|
330 |
-
|
331 |
-
// If the elem is not detected (offscreen) or detected (onscreen)
|
332 |
-
// trigger the event and fire the callback immediately.
|
333 |
-
if ( screenEvent === offScreenEvent ? !detected : detected ) {
|
334 |
-
// console.log("Triggering " + elem.id + " " + screenEvent );
|
335 |
-
// Trigger the onscreen event at the next possible cycle.
|
336 |
-
// Artz: Ask the jQuery team why I needed to do this.
|
337 |
-
setTimeout(function(){
|
338 |
-
$(elem).trigger( screenEvent === offScreenEvent ? offScreenEvent : onScreenEvent );
|
339 |
-
}, 0);
|
340 |
-
triggered = 1;
|
341 |
-
// Otherwise, add it to the polling queue.
|
342 |
-
}
|
343 |
-
|
344 |
-
// console.log("Adding " + elem.id + " to queue.");
|
345 |
-
// Push the element and its callback into the poll queue.
|
346 |
-
pollQueue[ screenEvent ].push({
|
347 |
-
elem: elem,
|
348 |
-
px: distance,
|
349 |
-
full: full,
|
350 |
-
tr: triggered/* ,
|
351 |
-
parent: parent */
|
352 |
-
});
|
353 |
-
|
354 |
-
// Activate the poll if not currently activated.
|
355 |
-
if ( !pollActive ) {
|
356 |
-
$win.bind( "scroll", poll );
|
357 |
-
pollActive = 1;
|
358 |
-
}
|
359 |
-
|
360 |
-
|
361 |
-
// Call the prepare function if there, used to
|
362 |
-
// prepare the element if we detected it.
|
363 |
-
// Artz: Not implemented yet...used to preprocess elements in same loop.
|
364 |
-
/*
|
365 |
-
if ( prepCallback ) {
|
366 |
-
prepCallback.call( elem, elem, detected );
|
367 |
-
}
|
368 |
-
*/
|
369 |
-
};
|
370 |
-
|
371 |
-
// Open sonar function up to the public.
|
372 |
-
$.sonar = detect;
|
373 |
-
|
374 |
-
pollQueue[ onScreenEvent ] = [];
|
375 |
-
$.event.special[ onScreenEvent ] = {
|
376 |
-
|
377 |
-
add: function( handleObj ) {
|
378 |
-
var data = handleObj.data || {},
|
379 |
-
elem = this;
|
380 |
-
|
381 |
-
if (!elem[onScreenEvent]){
|
382 |
-
addSonar(this, {
|
383 |
-
px: data.distance,
|
384 |
-
full: data.full,
|
385 |
-
evt: onScreenEvent /*,
|
386 |
-
parent: data.parent */
|
387 |
-
});
|
388 |
-
}
|
389 |
-
},
|
390 |
-
|
391 |
-
remove: function( handleObj ) {
|
392 |
-
removeSonar( this, onScreenEvent );
|
393 |
-
}
|
394 |
-
|
395 |
-
};
|
396 |
-
|
397 |
-
pollQueue[ offScreenEvent ] = [];
|
398 |
-
$.event.special[ offScreenEvent ] = {
|
399 |
-
|
400 |
-
add: function( handleObj ) {
|
401 |
-
|
402 |
-
var data = handleObj.data || {},
|
403 |
-
elem = this;
|
404 |
-
|
405 |
-
if (!elem[offScreenEvent]){
|
406 |
-
addSonar(elem, {
|
407 |
-
px: data.distance,
|
408 |
-
full: data.full,
|
409 |
-
evt: offScreenEvent /*,
|
410 |
-
parent: data.parent */
|
411 |
-
});
|
412 |
-
}
|
413 |
-
},
|
414 |
-
|
415 |
-
remove: function( handleObj ) {
|
416 |
-
removeSonar( this, offScreenEvent );
|
417 |
-
}
|
418 |
-
};
|
419 |
-
|
420 |
-
// console.log(pollQueue);
|
421 |
-
})( jQuery, window, document );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/jquery.sonar.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
(function(e,h,l,c){e.fn.sonar=function(o,n){if(typeof o==="boolean"){n=o;o=c}return e.sonar(this[0],o,n)};var f=l.body,a="scrollin",m="scrollout",b=function(r,n,t){if(r){f||(f=l.body);var s=r,u=0,v=f.offsetHeight,o=h.innerHeight||l.documentElement.clientHeight||f.clientHeight||0,q=l.documentElement.scrollTop||h.pageYOffset||f.scrollTop||0,p=r.offsetHeight||0;if(!r.sonarElemTop||r.sonarBodyHeight!==v){if(s.offsetParent){do{u+=s.offsetTop}while(s=s.offsetParent)}r.sonarElemTop=u;r.sonarBodyHeight=v}n=n===c?0:n;return(!(r.sonarElemTop+(t?0:p)<q-n)&&!(r.sonarElemTop+(t?p:0)>q+o+n))}},d={},j=0,i=function(){setTimeout(function(){var s,o,t,q,p,r,n;for(t in d){o=d[t];for(r=0,n=o.length;r<n;r++){q=o[r];s=q.elem;p=b(s,q.px,q.full);if(t===m?!p:p){if(!q.tr){if(s[t]){e(s).trigger(t);q.tr=1}else{o.splice(r,1);r--;n--}}}else{q.tr=0}}}},25)},k=function(n,o){n[o]=0},g=function(r,p){var t=p.px,q=p.full,s=p.evt,o=b(r,t,q),n=0;r[s]=1;if(s===m?!o:o){setTimeout(function(){e(r).trigger(s===m?m:a)},0);n=1}d[s].push({elem:r,px:t,full:q,tr:n});if(!j){e(h).bind("scroll",i);j=1}};e.sonar=b;d[a]=[];e.event.special[a]={add:function(n){var p=n.data||{},o=this;if(!o[a]){g(this,{px:p.distance,full:p.full,evt:a})}},remove:function(n){k(this,a)}};d[m]=[];e.event.special[m]={add:function(n){var p=n.data||{},o=this;if(!o[m]){g(o,{px:p.distance,full:p.full,evt:m})}},remove:function(n){k(this,m)}}})(jQuery,window,document);
|
|
inc/js/sbp-lazy-load.js
DELETED
@@ -1,30 +0,0 @@
|
|
1 |
-
(function($) {
|
2 |
-
lazy_load_init();
|
3 |
-
$( 'body' ).bind( 'post-load', lazy_load_init ); // Work with WP.com infinite scroll
|
4 |
-
|
5 |
-
function lazy_load_init() {
|
6 |
-
$( 'img[data-lazy-src]' ).bind( 'scrollin', { distance: 200 }, function() {
|
7 |
-
sbp_lazy_load_init( this );
|
8 |
-
});
|
9 |
-
|
10 |
-
// We need to force load gallery images in Jetpack Carousel and give up lazy-loading otherwise images don't show up correctly
|
11 |
-
$( '[data-carousel-extra]' ).each( function() {
|
12 |
-
$( this ).find( 'img[data-lazy-src]' ).each( function() {
|
13 |
-
sbp_lazy_load_init( this );
|
14 |
-
} );
|
15 |
-
} );
|
16 |
-
}
|
17 |
-
|
18 |
-
function sbp_lazy_load_init( img ) {
|
19 |
-
var $img = jQuery( img ),
|
20 |
-
src = $img.attr( 'data-lazy-src' );
|
21 |
-
|
22 |
-
$img.unbind( 'scrollin' ) // remove event binding
|
23 |
-
.hide()
|
24 |
-
.removeAttr( 'data-lazy-src' )
|
25 |
-
.attr( 'data-lazy-loaded', 'true' );
|
26 |
-
|
27 |
-
img.src = src;
|
28 |
-
$img.fadeIn();
|
29 |
-
}
|
30 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/lazy-load.php
CHANGED
@@ -1,52 +1,52 @@
|
|
1 |
-
<?php
|
2 |
-
/* Lazy Load v. 0.5 => Lazy load images to improve page load times. Uses jQuery.sonar to only load an image when it's visible in the viewport.
|
3 |
-
* http://wordpress.org/plugins/lazy-load/
|
4 |
-
* Author & copyright WordPress.com VIP team, TechCrunch 2011 Redesign team, and Jake Goldman (10up LLC).
|
5 |
-
* Uses jQuery.sonar by Dave Artz (AOL): http://www.artzstudio.com/files/jquery-boston-2010/jquery.sonar/
|
6 |
-
* License: GPL2 */
|
7 |
-
|
8 |
-
if ( ! class_exists( 'Speed_Booster_Pack_Lazy_Load' ) ) :
|
9 |
-
|
10 |
-
class Speed_Booster_Pack_Lazy_Load {
|
11 |
-
|
12 |
-
static function init() {
|
13 |
-
if ( is_admin() )
|
14 |
-
return;
|
15 |
-
|
16 |
-
add_filter( 'the_content', array( __CLASS__, 'add_sbp_image_placeholders' ), 99 ); // run this later, so other content filters have run, including image_add_wh on WP.com
|
17 |
-
add_filter( 'post_thumbnail_html', array( __CLASS__, 'add_sbp_image_placeholders' ), 11 );
|
18 |
-
add_filter( 'get_avatar', array( __CLASS__, 'add_sbp_image_placeholders' ), 11 );
|
19 |
-
}
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
static function add_sbp_image_placeholders( $content ) {
|
24 |
-
// Don't lazyload for feeds, previews, mobile
|
25 |
-
if( is_feed() || is_preview() || ( function_exists( 'is_mobile' ) && is_mobile() ) )
|
26 |
-
return $content;
|
27 |
-
|
28 |
-
// Don't lazy-load if the content has already been run through previously
|
29 |
-
if ( false !== strpos( $content, 'data-lazy-src' ) )
|
30 |
-
return $content;
|
31 |
-
|
32 |
-
// In case you want to change the placeholder image
|
33 |
-
$sbp_placeholder_image = apply_filters( 'lazyload_images_placeholder_image', self::get_url( 'images/1x1.trans.gif' ) );
|
34 |
-
|
35 |
-
// This is a pretty simple regex, but it works
|
36 |
-
$content = preg_replace( '#<img([^>]+?)src=[\'"]?([^\'"\s>]+)[\'"]?([^>]*)>#', sprintf( '<img${1}src="%s" data-lazy-src="${2}"${3}><noscript><img${1}src="${2}"${3}></noscript>', $sbp_placeholder_image ), $content );
|
37 |
-
|
38 |
-
return $content;
|
39 |
-
}
|
40 |
-
|
41 |
-
static function get_url( $path = '' ) {
|
42 |
-
return plugins_url( ltrim( $path, '/' ), __FILE__ );
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
function sbp_lazyload_images_add_placeholders( $content ) {
|
47 |
-
return Speed_Booster_Pack_Lazy_Load::add_sbp_image_placeholders( $content );
|
48 |
-
}
|
49 |
-
|
50 |
-
Speed_Booster_Pack_Lazy_Load::init();
|
51 |
-
|
52 |
-
endif;
|
1 |
+
<?php
|
2 |
+
/* Lazy Load v. 0.5 => Lazy load images to improve page load times. Uses jQuery.sonar to only load an image when it's visible in the viewport.
|
3 |
+
* http://wordpress.org/plugins/lazy-load/
|
4 |
+
* Author & copyright WordPress.com VIP team, TechCrunch 2011 Redesign team, and Jake Goldman (10up LLC).
|
5 |
+
* Uses jQuery.sonar by Dave Artz (AOL): http://www.artzstudio.com/files/jquery-boston-2010/jquery.sonar/
|
6 |
+
* License: GPL2 */
|
7 |
+
|
8 |
+
if ( ! class_exists( 'Speed_Booster_Pack_Lazy_Load' ) ) :
|
9 |
+
|
10 |
+
class Speed_Booster_Pack_Lazy_Load {
|
11 |
+
|
12 |
+
static function init() {
|
13 |
+
if ( is_admin() )
|
14 |
+
return;
|
15 |
+
|
16 |
+
add_filter( 'the_content', array( __CLASS__, 'add_sbp_image_placeholders' ), 99 ); // run this later, so other content filters have run, including image_add_wh on WP.com
|
17 |
+
add_filter( 'post_thumbnail_html', array( __CLASS__, 'add_sbp_image_placeholders' ), 11 );
|
18 |
+
add_filter( 'get_avatar', array( __CLASS__, 'add_sbp_image_placeholders' ), 11 );
|
19 |
+
}
|
20 |
+
|
21 |
+
|
22 |
+
|
23 |
+
static function add_sbp_image_placeholders( $content ) {
|
24 |
+
// Don't lazyload for feeds, previews, mobile
|
25 |
+
if( is_feed() || is_preview() || ( function_exists( 'is_mobile' ) && is_mobile() ) )
|
26 |
+
return $content;
|
27 |
+
|
28 |
+
// Don't lazy-load if the content has already been run through previously
|
29 |
+
if ( false !== strpos( $content, 'data-lazy-src' ) )
|
30 |
+
return $content;
|
31 |
+
|
32 |
+
// In case you want to change the placeholder image
|
33 |
+
$sbp_placeholder_image = apply_filters( 'lazyload_images_placeholder_image', self::get_url( 'images/1x1.trans.gif' ) );
|
34 |
+
|
35 |
+
// This is a pretty simple regex, but it works
|
36 |
+
$content = preg_replace( '#<img([^>]+?)src=[\'"]?([^\'"\s>]+)[\'"]?([^>]*)>#', sprintf( '<img${1}src="%s" data-lazy-src="${2}"${3}><noscript><img${1}src="${2}"${3}></noscript>', $sbp_placeholder_image ), $content );
|
37 |
+
|
38 |
+
return $content;
|
39 |
+
}
|
40 |
+
|
41 |
+
static function get_url( $path = '' ) {
|
42 |
+
return plugins_url( ltrim( $path, '/' ), __FILE__ );
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
function sbp_lazyload_images_add_placeholders( $content ) {
|
47 |
+
return Speed_Booster_Pack_Lazy_Load::add_sbp_image_placeholders( $content );
|
48 |
+
}
|
49 |
+
|
50 |
+
Speed_Booster_Pack_Lazy_Load::init();
|
51 |
+
|
52 |
+
endif;
|
inc/settings.php
CHANGED
@@ -21,6 +21,7 @@ if( !class_exists( 'Speed_Booster_Pack_Options' ) ) {
|
|
21 |
public function sbp_admin_init() {
|
22 |
|
23 |
register_setting( 'speed_booster_settings_group', 'sbp_settings' );
|
|
|
24 |
|
25 |
} // END public function admin_init
|
26 |
|
@@ -46,12 +47,18 @@ if( !class_exists( 'Speed_Booster_Pack_Options' ) ) {
|
|
46 |
|
47 |
global $sbp_options;
|
48 |
|
49 |
-
// Global variables used
|
50 |
$url = get_site_url();
|
51 |
$page_time = get_option( 'sbp_page_time' );
|
52 |
$page_queries = get_option( 'sbp_page_queries' );
|
53 |
$response = wp_remote_get( $url, array() );
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
// Render the plugin options page HTML
|
56 |
include( SPEED_BOOSTER_PACK_PATH . 'css/dynamic-css.php' );
|
57 |
|
@@ -61,6 +68,7 @@ if( !class_exists( 'Speed_Booster_Pack_Options' ) ) {
|
|
61 |
} // END public function sbp_plugin_settings_page()
|
62 |
|
63 |
|
|
|
64 |
} // END class Speed_Booster_Pack_Options
|
65 |
|
66 |
} // END if(!class_exists('Speed_Booster_Pack_Options'))
|
21 |
public function sbp_admin_init() {
|
22 |
|
23 |
register_setting( 'speed_booster_settings_group', 'sbp_settings' );
|
24 |
+
register_setting( 'speed_booster_settings_group', 'sbp_integer' );
|
25 |
|
26 |
} // END public function admin_init
|
27 |
|
47 |
|
48 |
global $sbp_options;
|
49 |
|
50 |
+
// Global variables used in plugin options page
|
51 |
$url = get_site_url();
|
52 |
$page_time = get_option( 'sbp_page_time' );
|
53 |
$page_queries = get_option( 'sbp_page_queries' );
|
54 |
$response = wp_remote_get( $url, array() );
|
55 |
|
56 |
+
if ( get_option( 'sbp_integer' ) ) {
|
57 |
+
$this->image_compression = get_option( 'sbp_integer' );
|
58 |
+
} else {
|
59 |
+
$this->image_compression = 90;
|
60 |
+
}
|
61 |
+
|
62 |
// Render the plugin options page HTML
|
63 |
include( SPEED_BOOSTER_PACK_PATH . 'css/dynamic-css.php' );
|
64 |
|
68 |
} // END public function sbp_plugin_settings_page()
|
69 |
|
70 |
|
71 |
+
|
72 |
} // END class Speed_Booster_Pack_Options
|
73 |
|
74 |
} // END if(!class_exists('Speed_Booster_Pack_Options'))
|
inc/template/options.php
CHANGED
@@ -1,188 +1,267 @@
|
|
1 |
<div class="wrap">
|
2 |
|
3 |
-
|
4 |
|
5 |
-
|
6 |
|
7 |
-
|
8 |
|
9 |
-
|
10 |
|
11 |
-
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
16 |
|
17 |
-
|
18 |
|
19 |
-
|
20 |
|
21 |
-
|
22 |
|
23 |
-
<p>
|
24 |
-
<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'] ) ); ?> />
|
25 |
-
<label for="sbp_settings[jquery_to_footer]"><?php _e( 'Move scripts to the footer', 'sb-pack' ); ?></label>
|
26 |
-
</p>
|
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 |
-
</div> <!-- END welcome-panel-column -->
|
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 |
-
<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'] ) ); ?> />
|
88 |
-
<label for="sbp_settings[remove_all_feeds]"><?php _e( 'Remove all rss feed links from WP Head', 'sb-pack' ); ?></label>
|
89 |
-
</p>
|
90 |
|
91 |
-
</div> <!-- END welcome-panel-column -->
|
92 |
|
|
|
93 |
|
94 |
-
|
95 |
|
96 |
-
|
97 |
|
98 |
-
|
|
|
|
|
99 |
|
100 |
-
|
101 |
-
|
102 |
-
|
|
|
|
|
103 |
|
104 |
-
|
105 |
-
<div class="sbp-numbers">
|
106 |
-
<?php echo $page_time; ?> <?php _e( 's', 'sb-pack' ); ?>
|
107 |
-
</div>
|
108 |
-
</div>
|
109 |
|
110 |
-
|
|
|
|
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
</div>
|
121 |
|
122 |
-
|
123 |
-
<strong><?php _e( 'PHP Version:', 'sb-pack' ); ?></strong> <span><?php echo PHP_VERSION; ?> / <?php echo (PHP_INT_SIZE * 8) . __('Bit OS'); ?></span>
|
124 |
-
</div>
|
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 |
</div> <!-- END sb-pack-->
|
187 |
|
188 |
-
</div> <!-- end wrap div -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
|
3 |
+
<div class="sb-pack">
|
4 |
|
5 |
+
<h2 class="sbp-icon"><?php echo esc_html( get_admin_page_title() ); ?></h2>
|
6 |
|
7 |
+
<div class="welcome-panel">
|
8 |
|
9 |
+
<div class="welcome-panel-content">
|
10 |
|
11 |
+
<form method="post" action="options.php">
|
12 |
|
13 |
+
<?php settings_fields( 'speed_booster_settings_group' ); ?>
|
14 |
|
15 |
+
<h3><?php _e( 'Boost Your Website Speed!', 'sb-pack' ); ?></h3>
|
16 |
|
17 |
+
<div class="welcome-panel-column-container">
|
18 |
|
19 |
+
<div class="welcome-panel-column">
|
20 |
|
21 |
+
<h4><?php _e( 'Main plugin options', 'sb-pack' ); ?></h4>
|
22 |
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
<p>
|
25 |
+
<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'] ) ); ?> />
|
26 |
+
<label for="sbp_settings[jquery_to_footer]"><?php _e( 'Move scripts to the footer', 'sb-pack' ); ?></label>
|
27 |
+
</p>
|
28 |
|
29 |
+
<p>
|
30 |
+
<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'] ) ); ?> />
|
31 |
+
<label for="sbp_settings[use_google_libs]"><?php _e( 'Load JS from Google Libraries', 'sb-pack' ); ?></label>
|
32 |
+
</p>
|
33 |
|
34 |
+
<p>
|
35 |
+
<input id="sbp_settings[defer_parsing]" name="sbp_settings[defer_parsing]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['defer_parsing'] ) ); ?> />
|
36 |
+
<label for="sbp_settings[defer_parsing]"><?php _e( 'Defer parsing of javascript files', 'sb-pack' ); ?></label>
|
37 |
+
</p>
|
38 |
|
39 |
+
<p>
|
40 |
+
<input id="sbp_settings[query_strings]" name="sbp_settings[query_strings]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['query_strings'] ) ); ?> />
|
41 |
+
<label for="sbp_settings[query_strings]"><?php _e( 'Remove query strings from static resources', 'sb-pack' ); ?></label>
|
42 |
+
</p>
|
43 |
|
44 |
+
<p>
|
45 |
+
<input id="sbp_settings[lazy_load]" name="sbp_settings[lazy_load]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['lazy_load'] ) ); ?> />
|
46 |
+
<label for="sbp_settings[lazy_load]"><?php _e( 'Lazy load images to improve page load times', 'sb-pack' ); ?></label>
|
47 |
+
</p>
|
48 |
|
49 |
+
<p>
|
50 |
+
<input id="sbp_settings[font_awesome]" name="sbp_settings[font_awesome]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['font_awesome'] ) ); ?> />
|
51 |
+
<label for="sbp_settings[font_awesome]"><?php _e( 'Removes extra Font Awesome stylesheets', 'sb-pack' ); ?></label>
|
52 |
+
</p>
|
53 |
|
54 |
+
</div> <!-- END welcome-panel-column -->
|
55 |
|
|
|
56 |
|
57 |
+
<div class="welcome-panel-column">
|
58 |
+
<h4> <?php _e( 'Remove junk header tags', 'sb-pack' ); ?></h4>
|
59 |
|
60 |
+
<p>
|
61 |
+
<input id="sbp_settings[remove_rsd_link]" name="sbp_settings[remove_rsd_link]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['remove_rsd_link'] ) ); ?> />
|
62 |
+
<label for="sbp_settings[remove_rsd_link]"><?php _e( 'Remove RSD Link', 'sb-pack' ); ?></label>
|
63 |
+
</p>
|
64 |
|
65 |
+
<p>
|
66 |
+
<input id="sbp_settings[remove_wsl]" name="sbp_settings[remove_wsl]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['remove_wsl'] ) ); ?> />
|
67 |
+
<label for="sbp_settings[remove_wsl]"><?php _e( 'Remove WordPress Shortlink', 'sb-pack' ); ?></label>
|
68 |
+
</p>
|
69 |
|
70 |
+
<p>
|
71 |
+
<input id="sbp_settings[remove_adjacent]" name="sbp_settings[remove_adjacent]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['remove_adjacent'] ) ); ?> />
|
72 |
+
<label for="sbp_settings[remove_adjacent]"><?php _e( 'Remove Adjacent Posts Links', 'sb-pack' ); ?></label>
|
73 |
+
</p>
|
74 |
|
75 |
+
<p>
|
76 |
+
<input id="sbp_settings[wml_link]" name="sbp_settings[wml_link]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['wml_link'] ) ); ?> />
|
77 |
+
<label for="sbp_settings[wml_link]"><?php _e( 'Remove Windows Live Writer Manifest', 'sb-pack' ); ?></label>
|
78 |
+
</p>
|
79 |
|
80 |
+
<p>
|
81 |
+
<input id="sbp_settings[wp_generator]" name="sbp_settings[wp_generator]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['wp_generator'] ) ); ?> />
|
82 |
+
<label for="sbp_settings[wp_generator]"><?php _e( 'Remove the WordPress Version Number', 'sb-pack' ); ?></label>
|
83 |
+
</p>
|
84 |
|
85 |
+
<p>
|
86 |
+
<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'] ) ); ?> />
|
87 |
+
<label for="sbp_settings[remove_all_feeds]"><?php _e( 'Remove all rss feed links from WP Head', 'sb-pack' ); ?></label>
|
88 |
+
</p>
|
89 |
|
90 |
+
</div> <!-- END welcome-panel-column -->
|
|
|
|
|
|
|
91 |
|
|
|
92 |
|
93 |
+
<div class="welcome-panel-column welcome-panel-last">
|
94 |
|
95 |
+
<h4> <?php _e( 'Home Page Load Stats', 'sb-pack' ); ?></h4>
|
96 |
|
97 |
+
<span class="sbp-stats"><?php _e( 'Page loading time in seconds:', 'sb-pack' ); ?></span>
|
98 |
|
99 |
+
<div class="sbp-progress time">
|
100 |
+
<span></span>
|
101 |
+
</div>
|
102 |
|
103 |
+
<div class="sbp-values">
|
104 |
+
<div class="sbp-numbers">
|
105 |
+
<?php echo $page_time; ?> <?php _e( 's', 'sb-pack' ); ?>
|
106 |
+
</div>
|
107 |
+
</div>
|
108 |
|
109 |
+
<span class="sbp-stats"><?php _e( 'Number of executed queries:', 'sb-pack' ); ?></span>
|
|
|
|
|
|
|
|
|
110 |
|
111 |
+
<div class="sbp-progress queries">
|
112 |
+
<span></span>
|
113 |
+
</div>
|
114 |
|
115 |
+
<div class="sbp-values">
|
116 |
+
<div class="sbp-numbers">
|
117 |
+
<?php echo $page_queries; ?> <?php _e( 'q', 'sb-pack' ); ?>
|
118 |
+
</div>
|
119 |
+
</div>
|
120 |
|
121 |
+
<div class="debug-info">
|
122 |
+
<strong><?php _e( 'Peak Memory Used:', 'sb-pack' ); ?></strong> <span><?php echo number_format( ( memory_get_peak_usage()/1024/1024 ), 2, ',', '' ) . ' / ' . ini_get( 'memory_limit' ), '<br />'; ?></span>
|
123 |
+
<strong><?php _e( 'Active Plugins:', 'sb-pack' ); ?></strong> <span><?php echo count( get_option( 'active_plugins' ) ) ; ?></span>
|
124 |
+
</div>
|
|
|
125 |
|
126 |
+
</div> <!-- END welcome-panel-column welcome-panel-last -->
|
|
|
|
|
127 |
|
128 |
+
</div> <!-- END welcome-panel-column-container -->
|
129 |
|
130 |
+
<div class="td-border"></div>
|
131 |
+
<div class="wrap">
|
132 |
+
<div class="sb-pack">
|
133 |
+
|
134 |
+
<h3><?php _e( 'Change the default image compression level', 'sb-pack' ); ?></h3>
|
135 |
+
|
136 |
+
<script type='text/javascript'>
|
137 |
+
var jpegCompression = '<?php echo $this->image_compression; ?>';
|
138 |
+
</script>
|
139 |
+
|
140 |
+
<div>
|
141 |
+
|
142 |
+
<p class="sbp-amount">
|
143 |
+
<?php _e( 'Compression level:', 'sb-pack' ); ?><input type="text" class="sbp-amount" id="sbp-amount" />
|
144 |
+
</p>
|
145 |
+
|
146 |
+
<p>
|
147 |
+
<div class="sbp-slider" id="sbp-slider"></div>
|
148 |
+
<input type="hidden" name="sbp_integer" id="sbp_integer" value="<?php echo $this->image_compression; ?>" />
|
149 |
+
</p>
|
150 |
+
|
151 |
+
<p class="description">
|
152 |
+
<?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.', 'sb-pack' ); ?><br />
|
153 |
+
<?php _e( 'Note that any changes you make will only affect new images uploaded to your site. If you want to update all of your images with the new sizes, install and run the Regenerate Thumbnails plugin. As a reference, a lower level of compression means more performance. We recommend you choose a compression level between 50 and 75.', 'sb-pack' ); ?>
|
154 |
+
</p>
|
155 |
+
|
156 |
+
</div>
|
157 |
+
|
158 |
+
<div class="td-border-last"></div>
|
159 |
+
|
160 |
+
<h3 class="td-margin"><?php _e( 'Still need more speed?', 'sb-pack' ); ?></h3>
|
161 |
+
|
162 |
+
<p>
|
163 |
+
<input id="sbp_css_async" name="sbp_settings[sbp_css_async]" type="checkbox" value="1" <?php checked( 1, isset( $sbp_options['sbp_css_async'] ) ); ?> />
|
164 |
+
<label for="sbp_css_async"><?php _e( 'Load CSS asynchronously', 'sb-pack' ); ?></label>
|
165 |
+
</p>
|
166 |
+
|
167 |
+
|
168 |
+
<div id="sbp-css-content">
|
169 |
+
|
170 |
+
<p>
|
171 |
+
<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'] ) ); ?> />
|
172 |
+
<label for="sbp_settings[sbp_css_minify]"><?php _e( 'Minify all CSS styles', 'sb-pack' ); ?></label>
|
173 |
+
</p>
|
174 |
+
|
175 |
+
<div class="sbp-radio-content">
|
176 |
+
|
177 |
+
<p>
|
178 |
+
<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'] ) ); ?> />
|
179 |
+
<label for="sbp_settings[sbp_footer_css]"><?php _e( 'Insert all CSS styles inline to the footer', 'sb-pack' ); ?></label>
|
180 |
+
</p>
|
181 |
+
|
182 |
+
<p class ="description"><?php _e( '*Inserting all CSS styles inline to the footer 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' ); ?>
|
183 |
+
</p>
|
184 |
+
|
185 |
+
</div><!-- END sbp-radio-content -->
|
186 |
+
</div><!-- END sbp-css-content -->
|
187 |
+
|
188 |
+
</div><!-- END sb-pack -->
|
189 |
+
</div><!-- END wrap -->
|
190 |
|
191 |
+
<?php submit_button() ?>
|
192 |
|
193 |
+
</form>
|
194 |
|
195 |
+
</div> <!-- END welcome-panel-content -->
|
196 |
|
197 |
+
</div> <!-- END welcome-panel -->
|
198 |
|
199 |
+
<!-- START docs and version areas -->
|
200 |
|
201 |
+
<div class="sbp-title-div">
|
202 |
+
<div class="sbp-title">
|
203 |
+
<?php _e( 'What do these settings mean?', 'sb-pack' ); ?>
|
204 |
+
</div>
|
205 |
+
</div>
|
206 |
|
207 |
+
<div class="sbp-box"><!-- start sbp-box div 1 -->
|
208 |
|
209 |
+
<div class="sbp-box-legend">
|
210 |
+
<i class="sbp-icon-help"></i>
|
211 |
+
</div>
|
212 |
|
213 |
+
<p><a href="http://tiguandesign.com/docs/speed-booster/" target="_blank" title="Documentation"><?php _e( 'Read online plugin documentation', 'sb-pack' ); ?></a><?php _e( ' with guidelines to enhance your website performance.', 'sb-pack' ); ?></p>
|
214 |
|
215 |
+
</div> <!-- end sbp-box div 1-->
|
216 |
|
217 |
+
<div class="sbp-title-div">
|
218 |
+
<div class="sbp-title">
|
219 |
+
<?php _e( 'Version Information', 'sb-pack' ); ?>
|
220 |
+
</div>
|
221 |
+
</div>
|
222 |
|
223 |
+
<div class="sbp-box"><!-- start sbp-box div 2 -->
|
224 |
|
225 |
+
<div class="sbp-box-version">
|
226 |
+
<i class="sbp-icon-version"></i>
|
227 |
+
</div>
|
228 |
|
229 |
+
<div class="sbp-infos">
|
230 |
+
<?php _e( 'Installed Version:', 'sb-pack' ); ?>
|
231 |
+
<span>
|
232 |
+
<?php echo SPEED_BOOSTER_PACK_VERSION; ?>
|
233 |
+
</span>
|
234 |
+
</div>
|
235 |
|
236 |
+
<div class="sbp-infos">
|
237 |
+
<?php _e( 'Released date:', 'sb-pack' ); ?>
|
238 |
+
<span>
|
239 |
+
<?php echo SPEED_BOOSTER_PACK_RELEASE_DATE; ?>
|
240 |
+
</span>
|
241 |
+
</div>
|
242 |
|
243 |
+
</div> <!-- end sbp-box div 2 -->
|
244 |
|
245 |
+
<!-- END docs and version areas -->
|
246 |
|
247 |
</div> <!-- END sb-pack-->
|
248 |
|
249 |
+
</div> <!-- end wrap div -->
|
250 |
+
|
251 |
+
<script>
|
252 |
+
if (typeof(jQuery)!='undefined'){
|
253 |
+
jQuery(document).ready(function (){
|
254 |
+
validate();
|
255 |
+
jQuery('input').change(function (){
|
256 |
+
validate();
|
257 |
+
})
|
258 |
+
});
|
259 |
+
function validate(){
|
260 |
+
if (jQuery('input[id=sbp_css_async]').is(':checked')){
|
261 |
+
jQuery('#sbp-css-content').show();
|
262 |
+
}else{
|
263 |
+
jQuery('#sbp-css-content').hide();
|
264 |
+
}
|
265 |
+
}
|
266 |
+
}
|
267 |
+
</script>
|
inc/use-google-libraries.php
CHANGED
@@ -4,9 +4,9 @@
|
|
4 |
/* Author & copyright (c) 2008-2013 : Jason Penney (email : jpenney@jczorkmid.net ). General Public License v.2.0 */
|
5 |
|
6 |
|
7 |
-
if ( ! class_exists( '
|
8 |
|
9 |
-
class
|
10 |
|
11 |
protected static $instance;
|
12 |
protected static $plugin_file = __FILE__;
|
@@ -15,7 +15,7 @@ if ( ! class_exists( 'JCP_UseGoogleLibraries' ) ) {
|
|
15 |
|
16 |
public static function get_instance() {
|
17 |
if ( ! isset( self::$instance ) ) {
|
18 |
-
self::$instance = new
|
19 |
}
|
20 |
return self::$instance;
|
21 |
}
|
@@ -77,7 +77,7 @@ if ( ! class_exists( 'JCP_UseGoogleLibraries' ) ) {
|
|
77 |
*
|
78 |
* @var string
|
79 |
*/
|
80 |
-
protected static $cache_id = '
|
81 |
|
82 |
/**
|
83 |
* transient expiration
|
@@ -200,19 +200,19 @@ if ( ! class_exists( 'JCP_UseGoogleLibraries' ) ) {
|
|
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
|
4 |
/* Author & copyright (c) 2008-2013 : Jason Penney (email : jpenney@jczorkmid.net ). General Public License v.2.0 */
|
5 |
|
6 |
|
7 |
+
if ( ! class_exists( 'SBP_GoogleLibraries' ) ) {
|
8 |
|
9 |
+
class SBP_GoogleLibraries {
|
10 |
|
11 |
protected static $instance;
|
12 |
protected static $plugin_file = __FILE__;
|
15 |
|
16 |
public static function get_instance() {
|
17 |
if ( ! isset( self::$instance ) ) {
|
18 |
+
self::$instance = new SBP_GoogleLibraries();
|
19 |
}
|
20 |
return self::$instance;
|
21 |
}
|
77 |
*
|
78 |
* @var string
|
79 |
*/
|
80 |
+
protected static $cache_id = 'SBP_GoogleLibraries_cache';
|
81 |
|
82 |
/**
|
83 |
* transient expiration
|
200 |
add_action(
|
201 |
'wp_default_scripts',
|
202 |
array(
|
203 |
+
'SBP_GoogleLibraries',
|
204 |
'replace_default_scripts_action',
|
205 |
),
|
206 |
1000
|
207 |
);
|
208 |
add_filter(
|
209 |
'script_loader_src',
|
210 |
+
array( 'SBP_GoogleLibraries', 'remove_ver_query_filter' ),
|
211 |
1000
|
212 |
);
|
213 |
add_filter(
|
214 |
'init',
|
215 |
+
array( 'SBP_GoogleLibraries', 'setup_filter' )
|
216 |
);
|
217 |
|
218 |
// There's a chance some plugin has called wp_enqueue_script
|
js/sbp-slider.js
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
});
|
lang/ro_RO.mo
ADDED
Binary file
|
lang/ro_RO.po
ADDED
@@ -0,0 +1,230 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
4 |
+
"Content-Transfer-Encoding: 8bit\n"
|
5 |
+
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
|
6 |
+
"2:1));\n"
|
7 |
+
"Project-Id-Version: Speed Booster Pack\n"
|
8 |
+
"POT-Creation-Date: \n"
|
9 |
+
"PO-Revision-Date: \n"
|
10 |
+
"Last-Translator: Liviu Costache <tiguan@tiguandesign.com>\n"
|
11 |
+
"Language-Team: Tiguandesign.com <tiguan@tiguandesign.com>\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"X-Generator: Poedit 1.6.6\n"
|
14 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
15 |
+
"X-Poedit-Basepath: .\n"
|
16 |
+
"Language: ro\n"
|
17 |
+
"X-Poedit-SearchPath-0: ..\n"
|
18 |
+
|
19 |
+
#. Text in echo
|
20 |
+
#: speed-booster-pack/inc/template/options.php:213
|
21 |
+
msgid " with guidelines to enhance your website performance."
|
22 |
+
msgstr "care conţine îndrumari pentru a îmbunătăți performanța site-ul tău."
|
23 |
+
|
24 |
+
#. Text in echo
|
25 |
+
#: speed-booster-pack/inc/template/options.php:182
|
26 |
+
msgid ""
|
27 |
+
"*Inserting all CSS styles inline to the footer will eliminate render-"
|
28 |
+
"blocking CSS warning in Google Page Speed test. If there is something broken "
|
29 |
+
"after activation, you need to disable this option. Please note that before "
|
30 |
+
"enabling this sensitive option, it is strongly recommended that you also "
|
31 |
+
"enable the \"Move scripts to the footer\" option."
|
32 |
+
msgstr ""
|
33 |
+
"*Încărcând toate stilurile CSS inline în partea de jos a site-ului va "
|
34 |
+
"elimina avertizarea din testul Google Page Speed despre JavaScript şi CSS "
|
35 |
+
"care blochează redarea conţinutului. Dacă designul site-ului este afectat "
|
36 |
+
"sau ceva nu funcţionează după activare, va trebui să dezactivezi această "
|
37 |
+
"opţiune. Te rugăm să reţii că înainte de a activă această opţiune sensibilă, "
|
38 |
+
"este obligatoriu să ai activată si opţiunea \"Mutaţi script-uri în footer\"."
|
39 |
+
|
40 |
+
#. Text in echo
|
41 |
+
#: speed-booster-pack/inc/template/options.php:123
|
42 |
+
msgid "Active Plugins:"
|
43 |
+
msgstr "Pluginuri Active:"
|
44 |
+
|
45 |
+
#. Text in echo
|
46 |
+
#: speed-booster-pack/inc/template/options.php:15
|
47 |
+
msgid "Boost Your Website Speed!"
|
48 |
+
msgstr "Sporeşte-ţi viteza site-ului!"
|
49 |
+
|
50 |
+
#. Text in echo
|
51 |
+
#: speed-booster-pack/inc/template/options.php:134
|
52 |
+
msgid "Change the default image compression level"
|
53 |
+
msgstr "Schimbă nivelul de compresie al imaginilor"
|
54 |
+
|
55 |
+
#. Text in echo
|
56 |
+
#: speed-booster-pack/inc/template/options.php:143
|
57 |
+
msgid "Compression level:"
|
58 |
+
msgstr "Nivelul de compresie:"
|
59 |
+
|
60 |
+
#. Text in echo
|
61 |
+
#: speed-booster-pack/inc/template/options.php:36
|
62 |
+
msgid "Defer parsing of javascript files"
|
63 |
+
msgstr "Amână analizarea fişierelor javascript"
|
64 |
+
|
65 |
+
#. Text in echo
|
66 |
+
#: speed-booster-pack/inc/template/options.php:95
|
67 |
+
msgid "Home Page Load Stats"
|
68 |
+
msgstr "Încărcarea paginii de bază"
|
69 |
+
|
70 |
+
#. Text in echo
|
71 |
+
#: speed-booster-pack/inc/template/options.php:179
|
72 |
+
msgid "Insert all CSS styles inline to the footer"
|
73 |
+
msgstr "Încarcă toate stilurile CSS inline în footer"
|
74 |
+
|
75 |
+
#. Text in echo
|
76 |
+
#: speed-booster-pack/inc/template/options.php:230
|
77 |
+
msgid "Installed Version:"
|
78 |
+
msgstr "Versiunea instalată:"
|
79 |
+
|
80 |
+
#. Text in echo
|
81 |
+
#: speed-booster-pack/inc/template/options.php:46
|
82 |
+
msgid "Lazy load images to improve page load times"
|
83 |
+
msgstr "Întârzie încărcarea imaginilor"
|
84 |
+
|
85 |
+
#. Text in echo
|
86 |
+
#: speed-booster-pack/inc/template/options.php:164
|
87 |
+
msgid "Load CSS asynchronously"
|
88 |
+
msgstr "Încărcare CSS în mod asincron"
|
89 |
+
|
90 |
+
#. Text in echo
|
91 |
+
#: speed-booster-pack/inc/template/options.php:31
|
92 |
+
msgid "Load JS from Google Libraries"
|
93 |
+
msgstr "Încarcă JS din Google Libraries"
|
94 |
+
|
95 |
+
#. Text in echo
|
96 |
+
#: speed-booster-pack/inc/template/options.php:21
|
97 |
+
msgid "Main plugin options"
|
98 |
+
msgstr "Opţiunile principale"
|
99 |
+
|
100 |
+
#. Text in echo
|
101 |
+
#: speed-booster-pack/inc/template/options.php:172
|
102 |
+
msgid "Minify all CSS styles"
|
103 |
+
msgstr "Comprimă toate fişierele CSS"
|
104 |
+
|
105 |
+
#. Text in echo
|
106 |
+
#: speed-booster-pack/inc/template/options.php:26
|
107 |
+
msgid "Move scripts to the footer"
|
108 |
+
msgstr "Muta script-uri in footer"
|
109 |
+
|
110 |
+
#. Text in echo
|
111 |
+
#: speed-booster-pack/inc/template/options.php:153
|
112 |
+
msgid ""
|
113 |
+
"Note that any changes you make will only affect new images uploaded to your "
|
114 |
+
"site. If you want to update all of your images with the new sizes, install "
|
115 |
+
"and run the Regenerate Thumbnails plugin. As a reference, a lower level of "
|
116 |
+
"compression means more performance. We recommend you choose a compression "
|
117 |
+
"level between 50 and 75."
|
118 |
+
msgstr ""
|
119 |
+
"Reţine că după alegerea nivelului de compresie, modificările vor afecta "
|
120 |
+
"numai imaginile noi încărcate pe site. Dacă doreşti să actualizezi toate "
|
121 |
+
"imaginile la noul nivel de compresie, instalează şi rulează plugin-ul "
|
122 |
+
"Regenerate Thumbnails. Că referinţă, un nivel mai scăzut de comprimare "
|
123 |
+
"înseamnă mai multă performanţă a site-ului. Îţi recomandăm să alegi un nivel "
|
124 |
+
"de compresie cu valorea cuprinsă între 50 şi 75."
|
125 |
+
|
126 |
+
#. Text in echo
|
127 |
+
#: speed-booster-pack/inc/template/options.php:109
|
128 |
+
msgid "Number of executed queries:"
|
129 |
+
msgstr "Numărul de interogări(queries) executate:"
|
130 |
+
|
131 |
+
#. Text in echo
|
132 |
+
#: speed-booster-pack/inc/template/options.php:97
|
133 |
+
msgid "Page loading time in seconds:"
|
134 |
+
msgstr "Timpul de încărcare a paginii în secunde:"
|
135 |
+
|
136 |
+
#. Text in echo
|
137 |
+
#: speed-booster-pack/inc/template/options.php:122
|
138 |
+
msgid "Peak Memory Used:"
|
139 |
+
msgstr "Memoria folosită"
|
140 |
+
|
141 |
+
#. Text in echo
|
142 |
+
#: speed-booster-pack/inc/template/options.php:213
|
143 |
+
msgid "Read online plugin documentation"
|
144 |
+
msgstr "Citeşte online documentaţia pluginului"
|
145 |
+
|
146 |
+
#. Text in echo
|
147 |
+
#: speed-booster-pack/inc/template/options.php:237
|
148 |
+
msgid "Released date:"
|
149 |
+
msgstr "Data lansării:"
|
150 |
+
|
151 |
+
#. Text in echo
|
152 |
+
#: speed-booster-pack/inc/template/options.php:72
|
153 |
+
msgid "Remove Adjacent Posts Links"
|
154 |
+
msgstr "Elimină Adjacent Posts Links"
|
155 |
+
|
156 |
+
#. Text in echo
|
157 |
+
#: speed-booster-pack/inc/template/options.php:62
|
158 |
+
msgid "Remove RSD Link"
|
159 |
+
msgstr "Elimină linkul RSD"
|
160 |
+
|
161 |
+
#. Text in echo
|
162 |
+
#: speed-booster-pack/inc/template/options.php:77
|
163 |
+
msgid "Remove Windows Live Writer Manifest"
|
164 |
+
msgstr "Elimină Windows Live Writer Manifest"
|
165 |
+
|
166 |
+
#. Text in echo
|
167 |
+
#: speed-booster-pack/inc/template/options.php:67
|
168 |
+
msgid "Remove WordPress Shortlink"
|
169 |
+
msgstr "Elimină WordPress Shortlink"
|
170 |
+
|
171 |
+
#. Text in echo
|
172 |
+
#: speed-booster-pack/inc/template/options.php:87
|
173 |
+
msgid "Remove all rss feed links from WP Head"
|
174 |
+
msgstr "Elimină toate link-urile RSS feed"
|
175 |
+
|
176 |
+
#. Text in echo
|
177 |
+
#: speed-booster-pack/inc/template/options.php:58
|
178 |
+
msgid "Remove junk header tags"
|
179 |
+
msgstr "Elimină tag-urile inutile din header"
|
180 |
+
|
181 |
+
#. Text in echo
|
182 |
+
#: speed-booster-pack/inc/template/options.php:41
|
183 |
+
msgid "Remove query strings from static resources"
|
184 |
+
msgstr "Elimină versiunea din resursele statice"
|
185 |
+
|
186 |
+
#. Text in echo
|
187 |
+
#: speed-booster-pack/inc/template/options.php:82
|
188 |
+
msgid "Remove the WordPress Version Number"
|
189 |
+
msgstr "Elimină numărul versiunii WordPress"
|
190 |
+
|
191 |
+
#. Text in echo
|
192 |
+
#: speed-booster-pack/inc/template/options.php:51
|
193 |
+
msgid "Removes extra Font Awesome stylesheets"
|
194 |
+
msgstr "Elimină extra Font Awesome CSS"
|
195 |
+
|
196 |
+
#. Text in echo
|
197 |
+
#: speed-booster-pack/inc/template/options.php:160
|
198 |
+
msgid "Still need more speed?"
|
199 |
+
msgstr "Încă ai nevoie de mai multă viteză?"
|
200 |
+
|
201 |
+
#. Text in echo
|
202 |
+
#: speed-booster-pack/inc/template/options.php:152
|
203 |
+
msgid ""
|
204 |
+
"The default image compression setting in WordPress is 90%. Compressing your "
|
205 |
+
"images further than the default will make your file sizes even smaller and "
|
206 |
+
"will boost your site performance."
|
207 |
+
msgstr ""
|
208 |
+
"Nivelul implicit de comprimare a imaginilor în WordPress este de 90%. "
|
209 |
+
"Comprimarea imaginilor la un nivel mai mare decât nivelul implicit va "
|
210 |
+
"micşora dimensiunile fişierelor şi va stimula performanta site-ului tău."
|
211 |
+
|
212 |
+
#. Text in echo
|
213 |
+
#: speed-booster-pack/inc/template/options.php:219
|
214 |
+
msgid "Version Information"
|
215 |
+
msgstr "Informaţii despre versiune"
|
216 |
+
|
217 |
+
#. Text in echo
|
218 |
+
#: speed-booster-pack/inc/template/options.php:203
|
219 |
+
msgid "What do these settings mean?"
|
220 |
+
msgstr "Ce reprezintă toate aceste opţiuni?"
|
221 |
+
|
222 |
+
#. Text in echo
|
223 |
+
#: speed-booster-pack/inc/template/options.php:117
|
224 |
+
msgid "q"
|
225 |
+
msgstr "q"
|
226 |
+
|
227 |
+
#. Text in echo
|
228 |
+
#: speed-booster-pack/inc/template/options.php:105
|
229 |
+
msgid "s"
|
230 |
+
msgstr "s"
|
lang/sb-pack.mo
CHANGED
Binary file
|
lang/sb-pack.po
CHANGED
@@ -2,134 +2,213 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Content-Type: text/plain; charset=UTF-8\n"
|
4 |
"Content-Transfer-Encoding: 8bit\n"
|
5 |
-
"
|
|
|
6 |
"POT-Creation-Date: \n"
|
7 |
"PO-Revision-Date: \n"
|
8 |
"Last-Translator: Liviu Costache <tiguan@tiguandesign.com>\n"
|
9 |
-
"Language-Team:
|
10 |
"MIME-Version: 1.0\n"
|
11 |
-
"
|
12 |
-
"X-
|
13 |
-
"X-Poedit-KeywordsList: __;_e\n"
|
14 |
"X-Poedit-Basepath: .\n"
|
|
|
15 |
"X-Poedit-SearchPath-0: ..\n"
|
16 |
|
17 |
#. Text in echo
|
18 |
-
#: speed-booster-pack/inc/template/options.php:
|
19 |
-
msgid " with guidelines to
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
msgstr ""
|
21 |
|
22 |
#. Text in echo
|
23 |
-
#: speed-booster-pack/inc/template/options.php:
|
|
|
|
|
|
|
|
|
|
|
24 |
msgid "Defer parsing of javascript files"
|
25 |
msgstr ""
|
26 |
|
27 |
#. Text in echo
|
28 |
-
#: speed-booster-pack/inc/template/options.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
msgid "Installed Version:"
|
30 |
msgstr ""
|
31 |
|
32 |
#. Text in echo
|
33 |
-
#: speed-booster-pack/inc/template/options.php:
|
34 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
35 |
msgstr ""
|
36 |
|
37 |
#. Text in echo
|
38 |
-
#: speed-booster-pack/inc/template/options.php:
|
39 |
msgid "Load JS from Google Libraries"
|
40 |
msgstr ""
|
41 |
|
42 |
#. Text in echo
|
43 |
-
#: speed-booster-pack/inc/template/options.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
msgid "Move scripts to the footer"
|
45 |
msgstr ""
|
46 |
|
47 |
#. Text in echo
|
48 |
-
#: speed-booster-pack/inc/template/options.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
msgid "Number of executed queries:"
|
50 |
msgstr ""
|
51 |
|
52 |
#. Text in echo
|
53 |
-
#: speed-booster-pack/inc/template/options.php:
|
54 |
-
msgid "Page
|
55 |
msgstr ""
|
56 |
|
57 |
#. Text in echo
|
58 |
-
#: speed-booster-pack/inc/template/options.php:
|
59 |
-
msgid "
|
60 |
msgstr ""
|
61 |
|
62 |
#. Text in echo
|
63 |
-
#: speed-booster-pack/inc/template/options.php:
|
64 |
msgid "Read online plugin documentation"
|
65 |
msgstr ""
|
66 |
|
67 |
#. Text in echo
|
68 |
-
#: speed-booster-pack/inc/template/options.php:
|
69 |
msgid "Released date:"
|
70 |
msgstr ""
|
71 |
|
72 |
#. Text in echo
|
73 |
-
#: speed-booster-pack/inc/template/options.php:
|
74 |
msgid "Remove Adjacent Posts Links"
|
75 |
msgstr ""
|
76 |
|
77 |
#. Text in echo
|
78 |
-
#: speed-booster-pack/inc/template/options.php:
|
79 |
msgid "Remove RSD Link"
|
80 |
msgstr ""
|
81 |
|
82 |
#. Text in echo
|
83 |
-
#: speed-booster-pack/inc/template/options.php:
|
84 |
msgid "Remove Windows Live Writer Manifest"
|
85 |
msgstr ""
|
86 |
|
87 |
#. Text in echo
|
88 |
-
#: speed-booster-pack/inc/template/options.php:
|
89 |
msgid "Remove WordPress Shortlink"
|
90 |
msgstr ""
|
91 |
|
92 |
#. Text in echo
|
93 |
-
#: speed-booster-pack/inc/template/options.php:
|
|
|
|
|
|
|
|
|
|
|
94 |
msgid "Remove junk header tags"
|
95 |
msgstr ""
|
96 |
|
97 |
#. Text in echo
|
98 |
-
#: speed-booster-pack/inc/template/options.php:
|
99 |
msgid "Remove query strings from static resources"
|
100 |
msgstr ""
|
101 |
|
102 |
#. Text in echo
|
103 |
-
#: speed-booster-pack/inc/template/options.php:
|
104 |
msgid "Remove the WordPress Version Number"
|
105 |
msgstr ""
|
106 |
|
107 |
#. Text in echo
|
108 |
-
#: speed-booster-pack/inc/template/options.php:
|
109 |
-
msgid "Removes
|
110 |
msgstr ""
|
111 |
|
112 |
#. Text in echo
|
113 |
-
#: speed-booster-pack/inc/template/options.php:
|
114 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
msgstr ""
|
116 |
|
117 |
#. Text in echo
|
118 |
-
#: speed-booster-pack/inc/template/options.php:
|
119 |
msgid "Version Information"
|
120 |
msgstr ""
|
121 |
|
122 |
#. Text in echo
|
123 |
-
#: speed-booster-pack/inc/template/options.php:
|
124 |
msgid "What do these settings mean?"
|
125 |
msgstr ""
|
126 |
|
127 |
#. Text in echo
|
128 |
-
#: speed-booster-pack/inc/template/options.php:
|
129 |
msgid "q"
|
130 |
msgstr ""
|
131 |
|
132 |
#. Text in echo
|
133 |
-
#: speed-booster-pack/inc/template/options.php:
|
134 |
msgid "s"
|
135 |
msgstr ""
|
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 |
+
"X-Generator: Poedit 1.6.6\n"
|
13 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
|
|
14 |
"X-Poedit-Basepath: .\n"
|
15 |
+
"Language: en\n"
|
16 |
"X-Poedit-SearchPath-0: ..\n"
|
17 |
|
18 |
#. Text in echo
|
19 |
+
#: speed-booster-pack/inc/template/options.php:213
|
20 |
+
msgid " with guidelines to enhance your website performance."
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#. Text in echo
|
24 |
+
#: speed-booster-pack/inc/template/options.php:182
|
25 |
+
msgid ""
|
26 |
+
"*Inserting all CSS styles inline to the footer will eliminate render-"
|
27 |
+
"blocking CSS warning in Google Page Speed test. If there is something broken "
|
28 |
+
"after activation, you need to disable this option. Please note that before "
|
29 |
+
"enabling this sensitive option, it is strongly recommended that you also "
|
30 |
+
"enable the \"Move scripts to the footer\" option."
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
#. Text in echo
|
34 |
+
#: speed-booster-pack/inc/template/options.php:123
|
35 |
+
msgid "Active Plugins:"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#. Text in echo
|
39 |
+
#: speed-booster-pack/inc/template/options.php:15
|
40 |
+
msgid "Boost Your Website Speed!"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#. Text in echo
|
44 |
+
#: speed-booster-pack/inc/template/options.php:134
|
45 |
+
msgid "Change the default image compression level"
|
46 |
msgstr ""
|
47 |
|
48 |
#. Text in echo
|
49 |
+
#: speed-booster-pack/inc/template/options.php:143
|
50 |
+
msgid "Compression level:"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#. Text in echo
|
54 |
+
#: speed-booster-pack/inc/template/options.php:36
|
55 |
msgid "Defer parsing of javascript files"
|
56 |
msgstr ""
|
57 |
|
58 |
#. Text in echo
|
59 |
+
#: speed-booster-pack/inc/template/options.php:95
|
60 |
+
msgid "Home Page Load Stats"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#. Text in echo
|
64 |
+
#: speed-booster-pack/inc/template/options.php:179
|
65 |
+
msgid "Insert all CSS styles inline to the footer"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#. Text in echo
|
69 |
+
#: speed-booster-pack/inc/template/options.php:230
|
70 |
msgid "Installed Version:"
|
71 |
msgstr ""
|
72 |
|
73 |
#. Text in echo
|
74 |
+
#: speed-booster-pack/inc/template/options.php:46
|
75 |
+
msgid "Lazy load images to improve page load times"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#. Text in echo
|
79 |
+
#: speed-booster-pack/inc/template/options.php:164
|
80 |
+
msgid "Load CSS asynchronously"
|
81 |
msgstr ""
|
82 |
|
83 |
#. Text in echo
|
84 |
+
#: speed-booster-pack/inc/template/options.php:31
|
85 |
msgid "Load JS from Google Libraries"
|
86 |
msgstr ""
|
87 |
|
88 |
#. Text in echo
|
89 |
+
#: speed-booster-pack/inc/template/options.php:21
|
90 |
+
msgid "Main plugin options"
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
#. Text in echo
|
94 |
+
#: speed-booster-pack/inc/template/options.php:172
|
95 |
+
msgid "Minify all CSS styles"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#. Text in echo
|
99 |
+
#: speed-booster-pack/inc/template/options.php:26
|
100 |
msgid "Move scripts to the footer"
|
101 |
msgstr ""
|
102 |
|
103 |
#. Text in echo
|
104 |
+
#: speed-booster-pack/inc/template/options.php:153
|
105 |
+
msgid ""
|
106 |
+
"Note that any changes you make will only affect new images uploaded to your "
|
107 |
+
"site. If you want to update all of your images with the new sizes, install "
|
108 |
+
"and run the Regenerate Thumbnails plugin. As a reference, a lower level of "
|
109 |
+
"compression means more performance. We recommend you choose a compression "
|
110 |
+
"level between 50 and 75."
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
#. Text in echo
|
114 |
+
#: speed-booster-pack/inc/template/options.php:109
|
115 |
msgid "Number of executed queries:"
|
116 |
msgstr ""
|
117 |
|
118 |
#. Text in echo
|
119 |
+
#: speed-booster-pack/inc/template/options.php:97
|
120 |
+
msgid "Page loading time in seconds:"
|
121 |
msgstr ""
|
122 |
|
123 |
#. Text in echo
|
124 |
+
#: speed-booster-pack/inc/template/options.php:122
|
125 |
+
msgid "Peak Memory Used:"
|
126 |
msgstr ""
|
127 |
|
128 |
#. Text in echo
|
129 |
+
#: speed-booster-pack/inc/template/options.php:213
|
130 |
msgid "Read online plugin documentation"
|
131 |
msgstr ""
|
132 |
|
133 |
#. Text in echo
|
134 |
+
#: speed-booster-pack/inc/template/options.php:237
|
135 |
msgid "Released date:"
|
136 |
msgstr ""
|
137 |
|
138 |
#. Text in echo
|
139 |
+
#: speed-booster-pack/inc/template/options.php:72
|
140 |
msgid "Remove Adjacent Posts Links"
|
141 |
msgstr ""
|
142 |
|
143 |
#. Text in echo
|
144 |
+
#: speed-booster-pack/inc/template/options.php:62
|
145 |
msgid "Remove RSD Link"
|
146 |
msgstr ""
|
147 |
|
148 |
#. Text in echo
|
149 |
+
#: speed-booster-pack/inc/template/options.php:77
|
150 |
msgid "Remove Windows Live Writer Manifest"
|
151 |
msgstr ""
|
152 |
|
153 |
#. Text in echo
|
154 |
+
#: speed-booster-pack/inc/template/options.php:67
|
155 |
msgid "Remove WordPress Shortlink"
|
156 |
msgstr ""
|
157 |
|
158 |
#. Text in echo
|
159 |
+
#: speed-booster-pack/inc/template/options.php:87
|
160 |
+
msgid "Remove all rss feed links from WP Head"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#. Text in echo
|
164 |
+
#: speed-booster-pack/inc/template/options.php:58
|
165 |
msgid "Remove junk header tags"
|
166 |
msgstr ""
|
167 |
|
168 |
#. Text in echo
|
169 |
+
#: speed-booster-pack/inc/template/options.php:41
|
170 |
msgid "Remove query strings from static resources"
|
171 |
msgstr ""
|
172 |
|
173 |
#. Text in echo
|
174 |
+
#: speed-booster-pack/inc/template/options.php:82
|
175 |
msgid "Remove the WordPress Version Number"
|
176 |
msgstr ""
|
177 |
|
178 |
#. Text in echo
|
179 |
+
#: speed-booster-pack/inc/template/options.php:51
|
180 |
+
msgid "Removes extra Font Awesome stylesheets"
|
181 |
msgstr ""
|
182 |
|
183 |
#. Text in echo
|
184 |
+
#: speed-booster-pack/inc/template/options.php:160
|
185 |
+
msgid "Still need more speed?"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#. Text in echo
|
189 |
+
#: speed-booster-pack/inc/template/options.php:152
|
190 |
+
msgid ""
|
191 |
+
"The default image compression setting in WordPress is 90%. Compressing your "
|
192 |
+
"images further than the default will make your file sizes even smaller and "
|
193 |
+
"will boost your site performance."
|
194 |
msgstr ""
|
195 |
|
196 |
#. Text in echo
|
197 |
+
#: speed-booster-pack/inc/template/options.php:219
|
198 |
msgid "Version Information"
|
199 |
msgstr ""
|
200 |
|
201 |
#. Text in echo
|
202 |
+
#: speed-booster-pack/inc/template/options.php:203
|
203 |
msgid "What do these settings mean?"
|
204 |
msgstr ""
|
205 |
|
206 |
#. Text in echo
|
207 |
+
#: speed-booster-pack/inc/template/options.php:117
|
208 |
msgid "q"
|
209 |
msgstr ""
|
210 |
|
211 |
#. Text in echo
|
212 |
+
#: speed-booster-pack/inc/template/options.php:105
|
213 |
msgid "s"
|
214 |
msgstr ""
|
lang/sb-pack.pot
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
"X-Generator: Poedit 1.6.6\n"
|
13 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
14 |
+
"X-Poedit-Basepath: .\n"
|
15 |
+
"Language: en\n"
|
16 |
+
"X-Poedit-SearchPath-0: ..\n"
|
17 |
+
|
18 |
+
#. Text in echo
|
19 |
+
#: speed-booster-pack/inc/template/options.php:213
|
20 |
+
msgid " with guidelines to enhance your website performance."
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#. Text in echo
|
24 |
+
#: speed-booster-pack/inc/template/options.php:182
|
25 |
+
msgid ""
|
26 |
+
"*Inserting all CSS styles inline to the footer will eliminate render-"
|
27 |
+
"blocking CSS warning in Google Page Speed test. If there is something broken "
|
28 |
+
"after activation, you need to disable this option. Please note that before "
|
29 |
+
"enabling this sensitive option, it is strongly recommended that you also "
|
30 |
+
"enable the \"Move scripts to the footer\" option."
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
#. Text in echo
|
34 |
+
#: speed-booster-pack/inc/template/options.php:123
|
35 |
+
msgid "Active Plugins:"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#. Text in echo
|
39 |
+
#: speed-booster-pack/inc/template/options.php:15
|
40 |
+
msgid "Boost Your Website Speed!"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#. Text in echo
|
44 |
+
#: speed-booster-pack/inc/template/options.php:134
|
45 |
+
msgid "Change the default image compression level"
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
#. Text in echo
|
49 |
+
#: speed-booster-pack/inc/template/options.php:143
|
50 |
+
msgid "Compression level:"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#. Text in echo
|
54 |
+
#: speed-booster-pack/inc/template/options.php:36
|
55 |
+
msgid "Defer parsing of javascript files"
|
56 |
+
msgstr ""
|
57 |
+
|
58 |
+
#. Text in echo
|
59 |
+
#: speed-booster-pack/inc/template/options.php:95
|
60 |
+
msgid "Home Page Load Stats"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#. Text in echo
|
64 |
+
#: speed-booster-pack/inc/template/options.php:179
|
65 |
+
msgid "Insert all CSS styles inline to the footer"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#. Text in echo
|
69 |
+
#: speed-booster-pack/inc/template/options.php:230
|
70 |
+
msgid "Installed Version:"
|
71 |
+
msgstr ""
|
72 |
+
|
73 |
+
#. Text in echo
|
74 |
+
#: speed-booster-pack/inc/template/options.php:46
|
75 |
+
msgid "Lazy load images to improve page load times"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#. Text in echo
|
79 |
+
#: speed-booster-pack/inc/template/options.php:164
|
80 |
+
msgid "Load CSS asynchronously"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#. Text in echo
|
84 |
+
#: speed-booster-pack/inc/template/options.php:31
|
85 |
+
msgid "Load JS from Google Libraries"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#. Text in echo
|
89 |
+
#: speed-booster-pack/inc/template/options.php:21
|
90 |
+
msgid "Main plugin options"
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
#. Text in echo
|
94 |
+
#: speed-booster-pack/inc/template/options.php:172
|
95 |
+
msgid "Minify all CSS styles"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#. Text in echo
|
99 |
+
#: speed-booster-pack/inc/template/options.php:26
|
100 |
+
msgid "Move scripts to the footer"
|
101 |
+
msgstr ""
|
102 |
+
|
103 |
+
#. Text in echo
|
104 |
+
#: speed-booster-pack/inc/template/options.php:153
|
105 |
+
msgid ""
|
106 |
+
"Note that any changes you make will only affect new images uploaded to your "
|
107 |
+
"site. If you want to update all of your images with the new sizes, install "
|
108 |
+
"and run the Regenerate Thumbnails plugin. As a reference, a lower level of "
|
109 |
+
"compression means more performance. We recommend you choose a compression "
|
110 |
+
"level between 50 and 75."
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
#. Text in echo
|
114 |
+
#: speed-booster-pack/inc/template/options.php:109
|
115 |
+
msgid "Number of executed queries:"
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#. Text in echo
|
119 |
+
#: speed-booster-pack/inc/template/options.php:97
|
120 |
+
msgid "Page loading time in seconds:"
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
#. Text in echo
|
124 |
+
#: speed-booster-pack/inc/template/options.php:122
|
125 |
+
msgid "Peak Memory Used:"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#. Text in echo
|
129 |
+
#: speed-booster-pack/inc/template/options.php:213
|
130 |
+
msgid "Read online plugin documentation"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#. Text in echo
|
134 |
+
#: speed-booster-pack/inc/template/options.php:237
|
135 |
+
msgid "Released date:"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#. Text in echo
|
139 |
+
#: speed-booster-pack/inc/template/options.php:72
|
140 |
+
msgid "Remove Adjacent Posts Links"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#. Text in echo
|
144 |
+
#: speed-booster-pack/inc/template/options.php:62
|
145 |
+
msgid "Remove RSD Link"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#. Text in echo
|
149 |
+
#: speed-booster-pack/inc/template/options.php:77
|
150 |
+
msgid "Remove Windows Live Writer Manifest"
|
151 |
+
msgstr ""
|
152 |
+
|
153 |
+
#. Text in echo
|
154 |
+
#: speed-booster-pack/inc/template/options.php:67
|
155 |
+
msgid "Remove WordPress Shortlink"
|
156 |
+
msgstr ""
|
157 |
+
|
158 |
+
#. Text in echo
|
159 |
+
#: speed-booster-pack/inc/template/options.php:87
|
160 |
+
msgid "Remove all rss feed links from WP Head"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#. Text in echo
|
164 |
+
#: speed-booster-pack/inc/template/options.php:58
|
165 |
+
msgid "Remove junk header tags"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#. Text in echo
|
169 |
+
#: speed-booster-pack/inc/template/options.php:41
|
170 |
+
msgid "Remove query strings from static resources"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#. Text in echo
|
174 |
+
#: speed-booster-pack/inc/template/options.php:82
|
175 |
+
msgid "Remove the WordPress Version Number"
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#. Text in echo
|
179 |
+
#: speed-booster-pack/inc/template/options.php:51
|
180 |
+
msgid "Removes extra Font Awesome stylesheets"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#. Text in echo
|
184 |
+
#: speed-booster-pack/inc/template/options.php:160
|
185 |
+
msgid "Still need more speed?"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#. Text in echo
|
189 |
+
#: speed-booster-pack/inc/template/options.php:152
|
190 |
+
msgid ""
|
191 |
+
"The default image compression setting in WordPress is 90%. Compressing your "
|
192 |
+
"images further than the default will make your file sizes even smaller and "
|
193 |
+
"will boost your site performance."
|
194 |
+
msgstr ""
|
195 |
+
|
196 |
+
#. Text in echo
|
197 |
+
#: speed-booster-pack/inc/template/options.php:219
|
198 |
+
msgid "Version Information"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#. Text in echo
|
202 |
+
#: speed-booster-pack/inc/template/options.php:203
|
203 |
+
msgid "What do these settings mean?"
|
204 |
+
msgstr ""
|
205 |
+
|
206 |
+
#. Text in echo
|
207 |
+
#: speed-booster-pack/inc/template/options.php:117
|
208 |
+
msgid "q"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#. Text in echo
|
212 |
+
#: speed-booster-pack/inc/template/options.php:105
|
213 |
+
msgid "s"
|
214 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== Speed Booster Pack ===
|
2 |
Contributors: tiguan
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EH65WAWPEYPXU
|
4 |
-
Tags: speed, optimization, performance,
|
5 |
Requires at least: 3.6
|
6 |
Tested up to: 3.9.1
|
7 |
-
Stable tag: 1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -25,13 +25,20 @@ When visitors lands on your site for the first time, you only have 3 seconds to
|
|
25 |
|
26 |
= Main Plugin Features =
|
27 |
|
|
|
28 |
* **Moves scripts to the footer** to improve page loading speed.
|
|
|
|
|
|
|
|
|
29 |
* **Loads javascript files from Google Libraries** rather than serving them from your WordPress install directly, to reduce latency, increase parallelism and improve caching.
|
30 |
* **Defers parsing of javascript files** to reduce the initial load time of your page.
|
31 |
* **Removes query strings from static resources** to improve your speed scores.
|
32 |
-
* **Lazy load images** to improve page load times and save bandwidth.
|
33 |
* **Removes extra Font Awesome stylesheets** added to your theme by certain plugins, if *Font Awesome* is already used in your theme.
|
34 |
* **Removes junk header tags** to clean up your WordPress Header.
|
|
|
|
|
|
|
35 |
|
36 |
= Page Load Stats =
|
37 |
|
@@ -52,9 +59,8 @@ Page Load Stats is a brief statistic displayed in the plugin options page. It di
|
|
52 |
= Other Notes =
|
53 |
|
54 |
* For complete usage instructions visit [Plugin Documentation](http://tiguandesign.com/docs/speed-booster/)
|
55 |
-
*
|
56 |
-
*
|
57 |
-
* Uses [jQuery.sonar](http://www.artzstudio.com/files/jquery-boston-2010/jquery.sonar/) by Dave Artz (AOL).
|
58 |
|
59 |
== Installation ==
|
60 |
|
@@ -65,20 +71,28 @@ Page Load Stats is a brief statistic displayed in the plugin options page. It di
|
|
65 |
5. A new sub menu item `Speed Booster Pack` will appear in your main Settings menu.
|
66 |
|
67 |
== Screenshots ==
|
68 |
-
1. Plugin options page, simple view (v1.
|
69 |
|
70 |
== Changelog ==
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
= 1.7 =
|
73 |
* Fixed Lazy Load missed js.
|
74 |
|
75 |
= 1.6 =
|
76 |
-
* Fixed some errors and missed codes from plugin
|
77 |
|
78 |
= 1.5 =
|
79 |
* Added Lazy Load feature to improve the web page loading times of your images.
|
80 |
* Added an option to remove all rss feed links from WP Head.
|
81 |
-
* Added plugin options informations to the footer, visible in page source, useful for debugging.
|
82 |
|
83 |
= 1.4 =
|
84 |
* Added a new option to remove extra Font Awesome stylesheets added to your theme by certain plugins, if Font Awesome is already used in your theme.
|
@@ -94,4 +108,11 @@ Page Load Stats is a brief statistic displayed in the plugin options page. It di
|
|
94 |
* Modified Readme file
|
95 |
|
96 |
= 1.0 =
|
97 |
-
* Initial release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
=== Speed Booster Pack ===
|
2 |
Contributors: tiguan
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EH65WAWPEYPXU
|
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: 3.9.1
|
7 |
+
Stable tag: 1.8
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
25 |
|
26 |
= Main Plugin Features =
|
27 |
|
28 |
+
* **Eliminates external render-blocking javascript and css** in above-the-fold content.
|
29 |
* **Moves scripts to the footer** to improve page loading speed.
|
30 |
+
* **Loads CSS asynchronously** to render your page more quickly and get a higher score on the major speed testing services.
|
31 |
+
* **Minify and inline all CSS styles and move them to the footer** to eliminate external render-blocking CSS and optimize CSS delivery.
|
32 |
+
* **Lazy loads images** to improve page load times and save bandwidth.
|
33 |
+
* **Changes image compression level** to keep file sizes smaller.
|
34 |
* **Loads javascript files from Google Libraries** rather than serving them from your WordPress install directly, to reduce latency, increase parallelism and improve caching.
|
35 |
* **Defers parsing of javascript files** to reduce the initial load time of your page.
|
36 |
* **Removes query strings from static resources** to improve your speed scores.
|
|
|
37 |
* **Removes extra Font Awesome stylesheets** added to your theme by certain plugins, if *Font Awesome* is already used in your theme.
|
38 |
* **Removes junk header tags** to clean up your WordPress Header.
|
39 |
+
* **Displays page loading time** in the plugin options page.
|
40 |
+
* **Displays the number of executed queries** in the plugin options page.
|
41 |
+
* **Displays the Peak Memory Used** in the plugin options page.
|
42 |
|
43 |
= Page Load Stats =
|
44 |
|
59 |
= Other Notes =
|
60 |
|
61 |
* For complete usage instructions visit [Plugin Documentation](http://tiguandesign.com/docs/speed-booster/)
|
62 |
+
* Translators are welcome! Translations included:
|
63 |
+
* *Romanian ro_RO*
|
|
|
64 |
|
65 |
== Installation ==
|
66 |
|
71 |
5. A new sub menu item `Speed Booster Pack` will appear in your main Settings menu.
|
72 |
|
73 |
== Screenshots ==
|
74 |
+
1. Plugin options page, simple view (v1.8)
|
75 |
|
76 |
== Changelog ==
|
77 |
|
78 |
+
= 1.8 =
|
79 |
+
* Added option to load CSS asynchronously to render your page more quickly and get a higher score on the major speed testing services
|
80 |
+
* Added option to inline and minify all CSS styles and move them to the header or to the footer, to eliminate external render-blocking CSS and optimize CSS delivery.
|
81 |
+
* Added option to change the default image compression level, to help your pages load faster and keep file sizes smaller.
|
82 |
+
* Added memory usage information and active plugins number in the plugin options page.
|
83 |
+
* Replaced PHP version info with memory usage information (more useful).
|
84 |
+
* Added Romanian translation and POT file. Translators are welcome!
|
85 |
+
|
86 |
= 1.7 =
|
87 |
* Fixed Lazy Load missed js.
|
88 |
|
89 |
= 1.6 =
|
90 |
+
* Fixed some errors and missed codes from plugin functions.
|
91 |
|
92 |
= 1.5 =
|
93 |
* Added Lazy Load feature to improve the web page loading times of your images.
|
94 |
* Added an option to remove all rss feed links from WP Head.
|
95 |
+
* Added plugin options informations to the footer, visible in page source(hidden in front end), useful for debugging.
|
96 |
|
97 |
= 1.4 =
|
98 |
* Added a new option to remove extra Font Awesome stylesheets added to your theme by certain plugins, if Font Awesome is already used in your theme.
|
108 |
* Modified Readme file
|
109 |
|
110 |
= 1.0 =
|
111 |
+
* Initial release
|
112 |
+
|
113 |
+
== Credits ==
|
114 |
+
|
115 |
+
* Thanks to [Jason Penney](http://jasonpenney.net/) for Google Libraries feature.
|
116 |
+
* Credits for Lazy Load feature belongs to: WordPress.com VIP team at Automattic, the TechCrunch 2011 Redesign team, and Jake Goldman (10up LLC).
|
117 |
+
* CSS option was implemented from Async JS and CSS plugin and updated to our plugin.
|
118 |
+
* The plugin uses [jQuery.sonar](http://www.artzstudio.com/files/jquery-boston-2010/jquery.sonar/) by Dave Artz (AOL).
|
speed-booster-pack.php
CHANGED
@@ -3,7 +3,7 @@
|
|
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 speed testing services such as <a href="http://gtmetrix.com/">GTmetrix</a>, <a href="http://developers.google.com/speed/pagespeed/insights/">Google PageSpeed</a> or other speed testing tools.
|
6 |
-
* Version: 1.
|
7 |
* Author: Tiguan
|
8 |
* Author URI: http://tiguandesign.com
|
9 |
* License: GPLv2
|
@@ -38,9 +38,9 @@ $sbp_options = get_option( 'sbp_settings', 'checked' ); // retrieve the plugin s
|
|
38 |
|
39 |
define( 'SPEED_BOOSTER_PACK_RELEASE_DATE', date_i18n( 'F j, Y', '1400569200' ) ); // Defining plugin release date
|
40 |
define( 'SPEED_BOOSTER_PACK_PATH', plugin_dir_path( __FILE__ ) ); // Defining plugin dir path
|
41 |
-
define( 'SPEED_BOOSTER_PACK_VERSION', 'v1.
|
42 |
define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining plugin name
|
43 |
-
|
44 |
|
45 |
/*----------------------------------------------------------------------------------------------------------
|
46 |
Main Plugin Class
|
@@ -50,13 +50,19 @@ define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining
|
|
50 |
|
51 |
class Speed_Booster_Pack {
|
52 |
|
53 |
-
|
54 |
/*----------------------------------------------------------------------------------------------------------
|
55 |
Function Construct
|
56 |
-----------------------------------------------------------------------------------------------------------*/
|
57 |
|
58 |
public function __construct() {
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
// Load plugin settings page
|
61 |
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/settings.php' );
|
62 |
$Speed_Booster_Pack_Options = new Speed_Booster_Pack_Options();
|
@@ -65,9 +71,6 @@ define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining
|
|
65 |
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/core.php' );
|
66 |
$Speed_Booster_Pack_Core = new Speed_Booster_Pack_Core();
|
67 |
|
68 |
-
// load plugin textdomain
|
69 |
-
load_plugin_textdomain( 'sb-pack', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
|
70 |
-
|
71 |
// Enqueue admin style
|
72 |
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_enqueue_styles' ) );
|
73 |
|
@@ -75,7 +78,7 @@ define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining
|
|
75 |
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_enqueue_scripts' ) );
|
76 |
|
77 |
// Render debugging information
|
78 |
-
add_action( 'wp_footer', array( $this, 'sbp_debugg' ),
|
79 |
|
80 |
// Filters
|
81 |
$this->path = plugin_basename( __FILE__ );
|
@@ -84,33 +87,49 @@ define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining
|
|
84 |
} // END public function __construct
|
85 |
|
86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
/*----------------------------------------------------------------------------------------------------------
|
88 |
Activate the plugin
|
89 |
-----------------------------------------------------------------------------------------------------------*/
|
90 |
|
91 |
-
public static function
|
92 |
|
|
|
93 |
$timer_stop = timer_stop( 0, 2 );
|
94 |
$get_num_queries = get_num_queries();
|
95 |
|
96 |
-
if (get_option('sbp_page_time') == '') {
|
97 |
update_option( 'sbp_page_time', $timer_stop );
|
98 |
}
|
99 |
|
100 |
-
if (get_option('sbp_page_queries') == '') {
|
101 |
update_option( 'sbp_page_queries', $get_num_queries );
|
102 |
}
|
103 |
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
|
106 |
|
107 |
/*----------------------------------------------------------------------------------------------------------
|
108 |
Deactivate the plugin
|
109 |
-----------------------------------------------------------------------------------------------------------*/
|
110 |
|
111 |
-
public static function
|
112 |
-
|
113 |
-
}
|
114 |
|
115 |
|
116 |
/*----------------------------------------------------------------------------------------------------------
|
@@ -123,29 +142,43 @@ define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining
|
|
123 |
global $sbp_settings_page;
|
124 |
if ( $hook != $sbp_settings_page )
|
125 |
return;
|
126 |
-
wp_enqueue_style( 'sbp-styles', plugin_dir_url( __FILE__ ) . 'css/sbp_style.min.css' ); // change to style.dev.css to debug
|
|
|
127 |
|
128 |
} // End function sbp_enqueue_styles
|
129 |
|
130 |
|
131 |
/*----------------------------------------------------------------------------------------------------------
|
132 |
-
Enqueue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
-----------------------------------------------------------------------------------------------------------*/
|
134 |
|
135 |
-
|
136 |
|
137 |
-
|
138 |
|
139 |
-
|
140 |
|
141 |
// We combined 'jquery.sonar.js' and 'lazy-load.js' (commented out below) in a single minified file to reduce the number of js files.
|
142 |
-
|
143 |
|
144 |
// wp_enqueue_script( 'sbp-lazy-load-images', plugin_dir_url( __FILE__ ) . 'js/lazy-load.js', array( 'jquery', 'sbp-jquery-sonar' ), SPEED_BOOSTER_PACK_VERSION, true );
|
145 |
// wp_enqueue_script( 'sbp-jquery-sonar', plugin_dir_url( __FILE__ ) . 'js/jquery.sonar.js', array( 'jquery' ), SPEED_BOOSTER_PACK_VERSION, true );
|
146 |
-
}
|
147 |
}
|
148 |
|
|
|
|
|
149 |
/*----------------------------------------------------------------------------------------------------------
|
150 |
Add settings link on plugins page
|
151 |
-----------------------------------------------------------------------------------------------------------*/
|
@@ -170,28 +203,21 @@ define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining
|
|
170 |
echo '<!-- We need this for debugging themes using ' . SPEED_BOOSTER_PACK_NAME . ' ' . SPEED_BOOSTER_PACK_VERSION . ' -->' . "\n";
|
171 |
|
172 |
if ( isset( $sbp_options['jquery_to_footer'] ) ) {
|
173 |
-
echo '<!--
|
174 |
-
}
|
175 |
|
176 |
-
if ( isset( $sbp_options['
|
177 |
-
echo '<!--
|
178 |
-
}
|
179 |
|
180 |
if ( isset( $sbp_options['defer_parsing'] ) ) {
|
181 |
-
echo '<!-- Defer parsing of
|
182 |
-
}
|
183 |
-
|
184 |
-
if ( isset( $sbp_options['query_strings'] ) ) {
|
185 |
-
echo '<!-- Remove query strings from static resources: active -->' . "\n";
|
186 |
-
} // End if
|
187 |
|
188 |
-
if ( isset( $sbp_options['
|
189 |
-
echo '<!--
|
190 |
-
}
|
191 |
|
192 |
-
if ( isset( $sbp_options['font_awesome'] ) ) {
|
193 |
-
echo '<!-- Removes additional Font Awesome stylesheets: active -->' . "\n";
|
194 |
-
} // End if
|
195 |
|
196 |
} // End function sbp_debugg
|
197 |
|
@@ -202,8 +228,8 @@ define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining
|
|
202 |
if( class_exists( 'Speed_Booster_Pack' ) ) {
|
203 |
|
204 |
// Installation and uninstallation hooks
|
205 |
-
register_activation_hook( __FILE__, array( 'Speed_Booster_Pack', '
|
206 |
-
register_deactivation_hook( __FILE__, array( 'Speed_Booster_Pack', '
|
207 |
|
208 |
// instantiate the plugin class
|
209 |
$speed_booster_pack = new Speed_Booster_Pack();
|
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 speed testing services such as <a href="http://gtmetrix.com/">GTmetrix</a>, <a href="http://developers.google.com/speed/pagespeed/insights/">Google PageSpeed</a> or other speed testing tools.
|
6 |
+
* Version: 1.8
|
7 |
* Author: Tiguan
|
8 |
* Author URI: http://tiguandesign.com
|
9 |
* License: GPLv2
|
38 |
|
39 |
define( 'SPEED_BOOSTER_PACK_RELEASE_DATE', date_i18n( 'F j, Y', '1400569200' ) ); // Defining plugin release date
|
40 |
define( 'SPEED_BOOSTER_PACK_PATH', plugin_dir_path( __FILE__ ) ); // Defining plugin dir path
|
41 |
+
define( 'SPEED_BOOSTER_PACK_VERSION', 'v1.8'); // Defining plugin version
|
42 |
define( 'SPEED_BOOSTER_PACK_NAME', 'Speed Booster Pack Plugin'); // Defining plugin name
|
43 |
+
define( 'SBP_FOOTER', 9999999 ); // Defining css position
|
44 |
|
45 |
/*----------------------------------------------------------------------------------------------------------
|
46 |
Main Plugin Class
|
50 |
|
51 |
class Speed_Booster_Pack {
|
52 |
|
|
|
53 |
/*----------------------------------------------------------------------------------------------------------
|
54 |
Function Construct
|
55 |
-----------------------------------------------------------------------------------------------------------*/
|
56 |
|
57 |
public function __construct() {
|
58 |
|
59 |
+
|
60 |
+
// Enqueue admin scripts
|
61 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_admin_enqueue_scripts' ) );
|
62 |
+
|
63 |
+
// load plugin textdomain
|
64 |
+
add_action('init', array( $this, 'sbp_action_init' ) );
|
65 |
+
|
66 |
// Load plugin settings page
|
67 |
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/settings.php' );
|
68 |
$Speed_Booster_Pack_Options = new Speed_Booster_Pack_Options();
|
71 |
require_once( SPEED_BOOSTER_PACK_PATH . 'inc/core.php' );
|
72 |
$Speed_Booster_Pack_Core = new Speed_Booster_Pack_Core();
|
73 |
|
|
|
|
|
|
|
74 |
// Enqueue admin style
|
75 |
add_action( 'admin_enqueue_scripts', array( $this, 'sbp_enqueue_styles' ) );
|
76 |
|
78 |
add_action( 'wp_enqueue_scripts', array( $this, 'sbp_enqueue_scripts' ) );
|
79 |
|
80 |
// Render debugging information
|
81 |
+
add_action( 'wp_footer', array( $this, 'sbp_debugg' ), SBP_FOOTER+3 );
|
82 |
|
83 |
// Filters
|
84 |
$this->path = plugin_basename( __FILE__ );
|
87 |
} // END public function __construct
|
88 |
|
89 |
|
90 |
+
/*----------------------------------------------------------------------------------------------------------
|
91 |
+
Load plugin textdomain
|
92 |
+
-----------------------------------------------------------------------------------------------------------*/
|
93 |
+
|
94 |
+
function sbp_action_init() {
|
95 |
+
load_plugin_textdomain( 'sb-pack', false, SPEED_BOOSTER_PACK_PATH . 'lang' );
|
96 |
+
}
|
97 |
+
|
98 |
+
|
99 |
/*----------------------------------------------------------------------------------------------------------
|
100 |
Activate the plugin
|
101 |
-----------------------------------------------------------------------------------------------------------*/
|
102 |
|
103 |
+
public static function sbp_activate() {
|
104 |
|
105 |
+
$sbp_options = get_option( 'sbp_settings', '' );
|
106 |
$timer_stop = timer_stop( 0, 2 );
|
107 |
$get_num_queries = get_num_queries();
|
108 |
|
109 |
+
if ( get_option('sbp_page_time') == '' ) {
|
110 |
update_option( 'sbp_page_time', $timer_stop );
|
111 |
}
|
112 |
|
113 |
+
if ( get_option( 'sbp_page_queries') == '' ) {
|
114 |
update_option( 'sbp_page_queries', $get_num_queries );
|
115 |
}
|
116 |
|
117 |
+
if ( get_option('sbp_css_async' ) === FALSE ) {
|
118 |
+
update_option( 'sbp_css_async', 1 );
|
119 |
+
update_option( 'sbp_css_minify', 1 );
|
120 |
+
update_option( 'sbp_footer_css', 0 );
|
121 |
+
}
|
122 |
+
|
123 |
+
} // END public static function sb_activate
|
124 |
|
125 |
|
126 |
/*----------------------------------------------------------------------------------------------------------
|
127 |
Deactivate the plugin
|
128 |
-----------------------------------------------------------------------------------------------------------*/
|
129 |
|
130 |
+
public static function sbp_deactivate() {
|
131 |
+
delete_option( 'sbp_integer' );
|
132 |
+
}
|
133 |
|
134 |
|
135 |
/*----------------------------------------------------------------------------------------------------------
|
142 |
global $sbp_settings_page;
|
143 |
if ( $hook != $sbp_settings_page )
|
144 |
return;
|
145 |
+
wp_enqueue_style( 'sbp-styles', plugin_dir_url( __FILE__ ) . 'css/sbp_style.min.css' ); // change to style.dev.css to debug the plugin style
|
146 |
+
wp_enqueue_style( 'jquery-ui', plugin_dir_url( __FILE__ ) . 'css/jquery-ui.min.css' );
|
147 |
|
148 |
} // End function sbp_enqueue_styles
|
149 |
|
150 |
|
151 |
/*----------------------------------------------------------------------------------------------------------
|
152 |
+
Enqueue admin scripts
|
153 |
+
-----------------------------------------------------------------------------------------------------------*/
|
154 |
+
|
155 |
+
function sbp_admin_enqueue_scripts() {
|
156 |
+
if ( is_admin() ) {
|
157 |
+
// Enqueue scripts for image compression slider
|
158 |
+
wp_enqueue_script( 'jquery-ui-slider' );
|
159 |
+
wp_enqueue_script( 'sbp-jquery-ui', plugin_dir_url( __FILE__ ) . 'js/sbp-slider.js', array( 'jquery' ), SPEED_BOOSTER_PACK_VERSION, true );
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
/*----------------------------------------------------------------------------------------------------------
|
164 |
+
Enqueue front end scripts
|
165 |
-----------------------------------------------------------------------------------------------------------*/
|
166 |
|
167 |
+
static function sbp_enqueue_scripts() {
|
168 |
|
169 |
+
global $sbp_options;
|
170 |
|
171 |
+
if ( !is_admin() and isset( $sbp_options['lazy_load'] ) ) {
|
172 |
|
173 |
// We combined 'jquery.sonar.js' and 'lazy-load.js' (commented out below) in a single minified file to reduce the number of js files.
|
174 |
+
wp_enqueue_script( 'sbp-lazy-load-images', plugin_dir_url( __FILE__ ) . 'js/sbp-lazy-load.min.js', array( 'jquery' ), SPEED_BOOSTER_PACK_VERSION, true );
|
175 |
|
176 |
// wp_enqueue_script( 'sbp-lazy-load-images', plugin_dir_url( __FILE__ ) . 'js/lazy-load.js', array( 'jquery', 'sbp-jquery-sonar' ), SPEED_BOOSTER_PACK_VERSION, true );
|
177 |
// wp_enqueue_script( 'sbp-jquery-sonar', plugin_dir_url( __FILE__ ) . 'js/jquery.sonar.js', array( 'jquery' ), SPEED_BOOSTER_PACK_VERSION, true );
|
|
|
178 |
}
|
179 |
|
180 |
+
}
|
181 |
+
|
182 |
/*----------------------------------------------------------------------------------------------------------
|
183 |
Add settings link on plugins page
|
184 |
-----------------------------------------------------------------------------------------------------------*/
|
203 |
echo '<!-- We need this for debugging themes using ' . SPEED_BOOSTER_PACK_NAME . ' ' . SPEED_BOOSTER_PACK_VERSION . ' -->' . "\n";
|
204 |
|
205 |
if ( isset( $sbp_options['jquery_to_footer'] ) ) {
|
206 |
+
echo '<!-- Scripts to footer: enabled -->' . "\n";
|
207 |
+
}
|
208 |
|
209 |
+
if ( isset( $sbp_options['sbp_footer_css'] ) ) {
|
210 |
+
echo '<!-- CSS to footer: enabled -->' . "\n";
|
211 |
+
}
|
212 |
|
213 |
if ( isset( $sbp_options['defer_parsing'] ) ) {
|
214 |
+
echo '<!-- Defer parsing of js: enabled -->' . "\n";
|
215 |
+
}
|
|
|
|
|
|
|
|
|
216 |
|
217 |
+
if ( isset( $sbp_options['sbp_css_async'] ) ) {
|
218 |
+
echo '<!-- CSS Async: enabled -->' . "\n";
|
219 |
+
}
|
220 |
|
|
|
|
|
|
|
221 |
|
222 |
} // End function sbp_debugg
|
223 |
|
228 |
if( class_exists( 'Speed_Booster_Pack' ) ) {
|
229 |
|
230 |
// Installation and uninstallation hooks
|
231 |
+
register_activation_hook( __FILE__, array( 'Speed_Booster_Pack', 'sbp_activate' ) );
|
232 |
+
register_deactivation_hook( __FILE__, array( 'Speed_Booster_Pack', 'sbp_deactivate' ) );
|
233 |
|
234 |
// instantiate the plugin class
|
235 |
$speed_booster_pack = new Speed_Booster_Pack();
|