| @@ -1,719 +1,295 @@ | ||
| 1 | 1 | <?php |
| 2 | -if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly | |
| 3 | 2 | |
| 4 | -class autoptimizeConfig { | |
| 5 | - private $config = null; | |
| 6 | - static private $instance = null; | |
| 7 | - | |
| 8 | - //Singleton: private construct | |
| 9 | - private function __construct() { | |
| 10 | - if( is_admin() ) { | |
| 11 | - //Add the admin page and settings | |
| 12 | - add_action('admin_menu',array($this,'addmenu')); | |
| 13 | - add_action('admin_init',array($this,'registersettings')); | |
| 14 | - | |
| 15 | - //Set meta info | |
| 16 | - if(function_exists('plugin_row_meta')) { | |
| 17 | - //2.8+ | |
| 18 | - add_filter('plugin_row_meta',array($this,'setmeta'),10,2); | |
| 19 | - } elseif(function_exists('post_class')) { | |
| 20 | - //2.7 | |
| 21 | - $plugin = plugin_basename(AUTOPTIMIZE_PLUGIN_DIR.'autoptimize.php'); | |
| 22 | - add_filter('plugin_action_links_'.$plugin,array($this,'setmeta')); | |
| 23 | - } | |
| 24 | - | |
| 25 | - //Clean cache? | |
| 26 | - if(get_option('autoptimize_cache_clean')) { | |
| 27 | - autoptimizeCache::clearall(); | |
| 28 | - update_option('autoptimize_cache_clean',0); | |
| 29 | - } | |
| 30 | - } | |
| 31 | - | |
| 32 | - //Add the Autoptimize Toolbar to the Admin bar | |
| 33 | - //(we loaded outside the verification of is_admin to also be displayed on the frontend toolbar) | |
| 34 | - $toolbar = new autoptimizeToolbar(); | |
| 3 | +class autoptimizeConfig | |
| 4 | +{ | |
| 5 | + private $config = null; | |
| 6 | + static private $instance = null; | |
| 7 | + | |
| 8 | + //Singleton: private construct | |
| 9 | + private function __construct() | |
| 10 | + { | |
| 11 | + if(is_admin()) | |
| 12 | + { | |
| 13 | + //Add the admin page and settings | |
| 14 | + add_action('admin_menu',array($this,'addmenu')); | |
| 15 | + add_action('admin_init',array($this,'registersettings')); | |
| 16 | + //Set meta info | |
| 17 | + if(function_exists('plugin_row_meta')) | |
| 18 | + { | |
| 19 | + //2.8+ | |
| 20 | + add_filter('plugin_row_meta',array($this,'setmeta'),10,2); | |
| 21 | + }elseif(function_exists('post_class')){ | |
| 22 | + //2.7 | |
| 23 | + $plugin = plugin_basename(WP_PLUGIN_DIR.'/autoptimize/autoptimize.php'); | |
| 24 | + add_filter('plugin_action_links_'.$plugin,array($this,'setmeta')); | |
| 25 | + } | |
| 26 | + //Clean cache? | |
| 27 | + if(get_option('autoptimize_cache_clean')) | |
| 28 | + { | |
| 29 | + autoptimizeCache::clearall(); | |
| 30 | + update_option('autoptimize_cache_clean',0); | |
| 31 | + } | |
| 32 | + } | |
| 33 | + } | |
| 34 | + | |
| 35 | + static public function instance() | |
| 36 | + { | |
| 37 | + //Only one instance | |
| 38 | + if (self::$instance == null) | |
| 39 | + { | |
| 40 | + self::$instance = new autoptimizeConfig(); | |
| 41 | + } | |
| 42 | + | |
| 43 | + return self::$instance; | |
| 35 | 44 | } |
| 36 | - | |
| 37 | - static public function instance() { | |
| 38 | - //Only one instance | |
| 39 | - if (self::$instance == null) { | |
| 40 | - self::$instance = new autoptimizeConfig(); | |
| 41 | - } | |
| 42 | - | |
| 43 | - return self::$instance; | |
| 44 | - } | |
| 45 | - | |
| 46 | - public function show() { | |
| 45 | + | |
| 46 | + public function show() | |
| 47 | + { | |
| 47 | 48 | ?> |
| 48 | -<style> | |
| 49 | -/* title and button */ | |
| 50 | -#ao_title_and_button:after {content:''; display:block; clear:both;} | |
| 51 | -#ao_adv_button{float:right;} | |
| 52 | -#ao_hide_adv:before, #ao_show_adv:before { | |
| 53 | - display: inline-block; | |
| 54 | - float: left; | |
| 55 | - height: 20px; | |
| 56 | - width: 35px; | |
| 57 | - background: none; | |
| 58 | - color: #b4b9be; | |
| 59 | - font: normal 20px/26px dashicons; | |
| 60 | - letter-spacing: -4px; | |
| 61 | - text-align: left; | |
| 62 | - speak: none; | |
| 63 | - -webkit-font-smoothing: antialiased; | |
| 64 | - -moz-osx-font-smoothing: grayscale; | |
| 65 | -} | |
| 66 | -#ao_hide_adv:before { | |
| 67 | - content: "\f108 \f142"; | |
| 68 | -} | |
| 69 | -#ao_show_adv:before { | |
| 70 | - content: "\f108 \f140"; | |
| 71 | -} | |
| 72 | - | |
| 73 | -/* animate "show adv" button */ | |
| 74 | -#ao_show_adv { animation: watchmenow 3s linear 5s 10; } | |
| 75 | -#ao_show_adv:hover { animation: none; } | |
| 76 | -@keyframes watchmenow { | |
| 77 | - 0% { box-shadow: unset; } | |
| 78 | - 100% { box-shadow: 0px 0px 20px yellow; } | |
| 79 | -} | |
| 80 | - | |
| 81 | -/* form */ | |
| 82 | -.itemDetail { | |
| 83 | - background: #fff; | |
| 84 | - border: 1px solid #ccc; | |
| 85 | - padding: 15px; | |
| 86 | - margin: 15px 10px 10px 0; | |
| 87 | -} | |
| 88 | -.itemTitle { | |
| 89 | - margin-top: 0; | |
| 90 | -} | |
| 91 | -input[type=url]:invalid {color: red; border-color:red;} .form-table th{font-weight:100;} | |
| 92 | -#autoptimize_main .cb_label {display: block; padding-left: 25px; text-indent: -25px;} | |
| 93 | - | |
| 94 | -/* rss block */ | |
| 95 | -#futtta_feed ul{list-style:outside;} | |
| 96 | -#futtta_feed {font-size:medium; margin:0px 20px;} | |
| 97 | - | |
| 98 | -/* banner + unslider */ | |
| 99 | -.autoptimize_banner { | |
| 100 | - margin: 0 38px; | |
| 101 | - padding-bottom: 5px; | |
| 102 | -} | |
| 103 | -.autoptimize_banner ul li { | |
| 104 | - font-size:medium; | |
| 105 | - text-align:center; | |
| 106 | -} | |
| 107 | -.unslider { | |
| 108 | - position:relative; | |
| 109 | -} | |
| 110 | -.unslider-arrow { | |
| 111 | - display: block; | |
| 112 | - left: unset; | |
| 113 | - margin-top: -35px; | |
| 114 | - margin-left: 7px; | |
| 115 | - margin-right: 7px; | |
| 116 | - border-radius: 32px; | |
| 117 | - background: rgba(0, 0, 0, 0.10) no-repeat 50% 50%; | |
| 118 | - color: rgba(255, 255, 255, 0.8); | |
| 119 | - font: normal 20px/1 dashicons; | |
| 120 | - speak: none; | |
| 121 | - padding: 3px 2px 3px 4px; | |
| 122 | - -webkit-font-smoothing: antialiased; | |
| 123 | - -moz-osx-font-smoothing: grayscale; | |
| 124 | -} | |
| 125 | -.unslider-arrow:hover { | |
| 126 | - background-color: rgba(0, 0, 0, 0.20); | |
| 127 | - color: #FFF; | |
| 128 | -} | |
| 129 | -.unslider-arrow.prev { | |
| 130 | - padding: 3px 4px 3px 2px; | |
| 131 | -} | |
| 132 | -.unslider-arrow.next { | |
| 133 | - right: 0px; | |
| 134 | -} | |
| 135 | -.unslider-arrow.prev::before { | |
| 136 | - content: "\f341"; | |
| 137 | -} | |
| 138 | -.unslider-arrow.next::before { | |
| 139 | - content: "\f345"; | |
| 140 | -} | |
| 141 | -/* responsive stuff: hide admin-feed on smaller screens */ | |
| 142 | -@media (min-width: 961px) { | |
| 143 | - #autoptimize_main {float:left;width:69%;} | |
| 144 | - #autoptimize_admin_feed{float:right;width:30%;display:block !important;} | |
| 145 | - } | |
| 146 | -@media (max-width: 960px) { | |
| 147 | - #autoptimize_main {width:100%;} | |
| 148 | - #autoptimize_admin_feed {width:0%;display:none !important;} | |
| 149 | -} | |
| 150 | -@media (max-width: 782px) { | |
| 151 | - #ao_hide_adv span, #ao_show_adv span {display: none;} | |
| 152 | - #ao_hide_adv,#ao_show_adv {height: 34px;padding: 4px 12px 8px 8px;} | |
| 153 | - #ao_hide_adv:before,#ao_show_adv:before {font-size: 25px;} | |
| 154 | - #autoptimize_main input[type="checkbox"] {margin-left: 10px;} | |
| 155 | - #autoptimize_main .cb_label {display: block; padding-left: 45px; text-indent: -45px;} | |
| 156 | -} | |
| 157 | -</style> | |
| 158 | - | |
| 159 | 49 | <div class="wrap"> |
| 50 | +<h2><?php _e('Autoptimize Settings','autoptimize'); ?></h2> | |
| 160 | 51 | |
| 161 | -<?php if (version_compare(PHP_VERSION, '5.3.0') < 0) { ?> | |
| 162 | -<div class="notice-error notice"><?php echo '<p>' . sprintf( __('<strong>You are using a very old version of PHP</strong> (5.2.x or older) which has <a href=%s>serious security and performance issues</a>. Support for PHP 5.5 and below will be removed in one of the next AO released, please ask your hoster to provide you with an upgrade path to 7.x.','autoptimize'), '"http://blog.futtta.be/2016/03/15/why-would-you-still-be-on-php-5-2/" target="_blank"') . '</p>'; ?></div> | |
| 163 | -<?php } ?> | |
| 164 | - | |
| 165 | -<div id="autoptimize_main"> | |
| 166 | -<div id="ao_title_and_button"> | |
| 167 | - <h1 id="ao_title"><?php _e('Autoptimize Settings','autoptimize'); ?> | |
| 168 | - <span id="ao_adv_button"> | |
| 169 | - <?php | |
| 170 | - if (get_option('autoptimize_show_adv','0')=='1') { | |
| 171 | - ?> | |
| 172 | - <a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><span><?php _e("Show advanced settings","autoptimize") ?></span></a> | |
| 173 | - <a href="javascript:void(0);" id="ao_hide_adv" class="button"><span><?php _e("Hide advanced settings","autoptimize") ?></span></a> | |
| 174 | - <style>tr.ao_adv{display:table-row;} li.ao_adv{display:list-item;}</style> | |
| 175 | - <?php | |
| 176 | - $hiddenClass=""; | |
| 177 | - } else { | |
| 178 | - ?> | |
| 179 | - <a href="javascript:void(0);" id="ao_show_adv" class="button"><span><?php _e("Show advanced settings","autoptimize") ?></span></a> | |
| 180 | - <a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><span><?php _e("Hide advanced settings","autoptimize") ?></span></a> | |
| 181 | - <?php | |
| 182 | - $hiddenClass="hidden "; | |
| 183 | - } | |
| 184 | - ?> | |
| 185 | - </span> | |
| 186 | - </h1> | |
| 52 | +<div style="position:absolute;right:50px;background:#FFFFE0;border:1px solid #E6DB55;padding:5px;text-align:center;"> | |
| 53 | +Like Autoptimize? | |
| 54 | +<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> | |
| 55 | +<input type="hidden" name="cmd" value="_donations"> | |
| 56 | +<input type="hidden" name="business" value="webmaster@turl.com.ar"> | |
| 57 | +<input type="hidden" name="lc" value="AR"> | |
| 58 | +<input type="hidden" name="item_name" value="Autoptimize"> | |
| 59 | +<input type="hidden" name="item_number" value="autoptimize"> | |
| 60 | +<input type="hidden" name="currency_code" value="USD"> | |
| 61 | +<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_SM.gif:NonHostedGuest"> | |
| 62 | +<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> | |
| 63 | +<img alt="" border="0" src="https://www.paypal.com/es_XC/i/scr/pixel.gif" width="1" height="1"> | |
| 64 | +</form> | |
| 65 | +Buy me a coffee :-) | |
| 187 | 66 | </div> |
| 188 | 67 | |
| 189 | -<?php echo $this->ao_admin_tabs(); ?> | |
| 190 | - | |
| 191 | 68 | <form method="post" action="options.php"> |
| 192 | 69 | <?php settings_fields('autoptimize'); ?> |
| 193 | 70 | |
| 194 | -<ul> | |
| 195 | - | |
| 196 | -<li class="itemDetail"> | |
| 197 | -<h2 class="itemTitle"><?php _e('HTML Options','autoptimize'); ?></h2> | |
| 71 | +<h3><?php _e('HTML Options','autoptimize'); ?></h3> | |
| 198 | 72 | <table class="form-table"> |
| 199 | 73 | <tr valign="top"> |
| 200 | 74 | <th scope="row"><?php _e('Optimize HTML Code?','autoptimize'); ?></th> |
| 201 | -<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php echo get_option('autoptimize_html')?'checked="checked" ':''; ?>/></td> | |
| 75 | +<td><input type="checkbox" name="autoptimize_html" <?php echo get_option('autoptimize_html')?'checked="checked" ':''; ?>/></td> | |
| 202 | 76 | </tr> |
| 203 | -<tr class="<?php echo $hiddenClass;?>html_sub ao_adv" valign="top"> | |
| 77 | +<tr valign="top"> | |
| 204 | 78 | <th scope="row"><?php _e('Keep HTML comments?','autoptimize'); ?></th> |
| 205 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_html_keepcomments" <?php echo get_option('autoptimize_html_keepcomments')?'checked="checked" ':''; ?>/> | |
| 206 | -<?php _e('Enable this if you want HTML comments to remain in the page.','autoptimize'); ?></label></td> | |
| 79 | +<td><label for="autoptimize_html_keepcomments"><input type="checkbox" name="autoptimize_html_keepcomments" <?php echo get_option('autoptimize_html_keepcomments')?'checked="checked" ':''; ?>/> | |
| 80 | +<?php _e('Disabled by default. Enable this if you want HTML comments to remain in the page.','autoptimize'); ?></label></td> | |
| 207 | 81 | </tr> |
| 208 | 82 | </table> |
| 209 | -</li> | |
| 210 | 83 | |
| 211 | -<li class="itemDetail"> | |
| 212 | -<h2 class="itemTitle"><?php _e('JavaScript Options','autoptimize'); ?></h2> | |
| 84 | +<h3><?php _e('JavaScript Options','autoptimize'); ?></h3> | |
| 213 | 85 | <table class="form-table"> |
| 214 | 86 | <tr valign="top"> |
| 215 | 87 | <th scope="row"><?php _e('Optimize JavaScript Code?','autoptimize'); ?></th> |
| 216 | -<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php echo get_option('autoptimize_js')?'checked="checked" ':''; ?>/></td> | |
| 88 | +<td><input type="checkbox" name="autoptimize_js" <?php echo get_option('autoptimize_js')?'checked="checked" ':''; ?>/></td> | |
| 217 | 89 | </tr> |
| 218 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 219 | -<th scope="row"><?php _e('Force JavaScript in <head>?','autoptimize'); ?></th> | |
| 220 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_forcehead" <?php echo get_option('autoptimize_js_forcehead')?'checked="checked" ':''; ?>/> | |
| 221 | -<?php _e('Load JavaScript early, this can potentially fix some JS-errors, but makes the JS render blocking.','autoptimize'); ?></label></td> | |
| 90 | +<tr valign="top"> | |
| 91 | +<th scope="row"><?php _e('Look for scripts only in <head>?','autoptimize'); ?></th> | |
| 92 | +<td><label for="autoptimize_js_justhead"><input type="checkbox" name="autoptimize_js_justhead" <?php echo get_option('autoptimize_js_justhead')?'checked="checked" ':''; ?>/> | |
| 93 | +<?php _e('Disabled by default. If the cache gets big, you might want to enable this.','autoptimize'); ?></label></td> | |
| 222 | 94 | </tr> |
| 223 | -<?php if (get_option('autoptimize_js_justhead')) { ?> | |
| 224 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 225 | -<th scope="row"><?php _e('Look for scripts only in <head>?','autoptimize'); echo ' <i>'. __('(deprecated)','autoptimize') . '</i>'; ?></th> | |
| 226 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_justhead" <?php echo get_option('autoptimize_js_justhead')?'checked="checked" ':''; ?>/> | |
| 227 | -<?php _e('Mostly useful in combination with previous option when using jQuery-based templates, but might help keeping cache size under control.','autoptimize'); ?></label></td> | |
| 95 | +<tr valign="top"> | |
| 96 | +<th scope="row"><?php _e('Add try-catch wrapping?','autoptimize'); ?></th> | |
| 97 | +<td><label for="autoptimize_js_trycatch"><input type="checkbox" name="autoptimize_js_trycatch" <?php echo get_option('autoptimize_js_trycatch')?'checked="checked" ':''; ?>/> | |
| 98 | +<?php _e('Disabled by default. If your scripts break because of an script error, you might want to try this.','autoptimize'); ?></label></td> | |
| 228 | 99 | </tr> |
| 229 | -<?php } ?> | |
| 230 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 231 | -<th scope="row"><?php _e('Also aggregate inline JS?','autoptimize'); ?></th> | |
| 232 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_include_inline" <?php echo get_option('autoptimize_js_include_inline')?'checked="checked" ':''; ?>/> | |
| 233 | -<?php _e('Let Autoptimize also extract JS from the HTML. <strong>Warning</strong>: this can make Autoptimize\'s cache size grow quickly, so only enable this if you know what you\'re doing.','autoptimize'); ?></label></td> | |
| 100 | +<tr valign="top"> | |
| 101 | +<th scope="row"><?php _e('Use YUI compression?','autoptimize'); ?></th> | |
| 102 | +<td><label for="autoptimize_js_yui"><input type="checkbox" name="autoptimize_js_yui" <?php echo get_option('autoptimize_js_yui')?'checked="checked" ':''; ?>/> | |
| 103 | +<?php _e('Disabled by default. Read [autoptimize]/yui/README.txt for more information.','autoptimize'); ?></label></td> | |
| 234 | 104 | </tr> |
| 235 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 236 | -<th scope="row"><?php _e('Exclude scripts from Autoptimize:','autoptimize'); ?></th> | |
| 237 | -<td><label><input type="text" style="width:100%;" name="autoptimize_js_exclude" value="<?php echo get_option('autoptimize_js_exclude',"seal.js, js/jquery/jquery.js"); ?>"/><br /> | |
| 238 | -<?php _e('A comma-separated list of scripts you want to exclude from being optimized, for example \'whatever.js, another.js\' (without the quotes) to exclude those scripts from being aggregated and minimized by Autoptimize.','autoptimize'); ?></label></td> | |
| 239 | -</tr> | |
| 240 | -<tr valign="top" class="<?php echo $hiddenClass;?>js_sub ao_adv"> | |
| 241 | -<th scope="row"><?php _e('Add try-catch wrapping?','autoptimize'); ?></th> | |
| 242 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_trycatch" <?php echo get_option('autoptimize_js_trycatch')?'checked="checked" ':''; ?>/> | |
| 243 | -<?php _e('If your scripts break because of a JS-error, you might want to try this.','autoptimize'); ?></label></td> | |
| 244 | -</tr> | |
| 245 | 105 | </table> |
| 246 | -</li> | |
| 247 | 106 | |
| 248 | -<li class="itemDetail"> | |
| 249 | -<h2 class="itemTitle"><?php _e('CSS Options','autoptimize'); ?></h2> | |
| 107 | +<h3><?php _e('CSS Options','autoptimize'); ?></h3> | |
| 250 | 108 | <table class="form-table"> |
| 251 | 109 | <tr valign="top"> |
| 252 | 110 | <th scope="row"><?php _e('Optimize CSS Code?','autoptimize'); ?></th> |
| 253 | -<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php echo get_option('autoptimize_css')?'checked="checked" ':''; ?>/></td> | |
| 111 | +<td><input type="checkbox" name="autoptimize_css" <?php echo get_option('autoptimize_css')?'checked="checked" ':''; ?>/></td> | |
| 254 | 112 | </tr> |
| 255 | -<tr class="<?php echo $hiddenClass;?>css_sub ao_adv" valign="top"> | |
| 113 | +<tr valign="top"> | |
| 114 | +<th scope="row"><?php _e('Look for styles on just <head>?','autoptimize'); ?></th> | |
| 115 | +<td><label for="autoptimize_css_justhead"><input type="checkbox" name="autoptimize_css_justhead" <?php echo get_option('autoptimize_css_justhead')?'checked="checked" ':''; ?>/> | |
| 116 | +<?php _e('Disabled by default. If the cache gets big, you might want to enable this.','autoptimize'); ?></label></td> | |
| 117 | +</tr> | |
| 118 | +<tr valign="top"> | |
| 256 | 119 | <th scope="row"><?php _e('Generate data: URIs for images?','autoptimize'); ?></th> |
| 257 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_datauris" <?php echo get_option('autoptimize_css_datauris')?'checked="checked" ':''; ?>/> | |
| 258 | -<?php _e('Enable this to include small background-images in the CSS itself instead of as separate downloads.','autoptimize'); ?></label></td> | |
| 120 | +<td><label for="autoptimize_css_datauris"><input type="checkbox" name="autoptimize_css_datauris" <?php echo get_option('autoptimize_css_datauris')?'checked="checked" ':''; ?>/> | |
| 121 | +<?php _e('Disabled by default. Enable this to include images on the CSS itself.','autoptimize'); ?></label></td> | |
| 259 | 122 | </tr> |
| 260 | -<tr class="<?php echo $hiddenClass;?>css_sub ao_adv" valign="top"> | |
| 261 | -<th scope="row"><?php _e('Remove Google Fonts?','autoptimize'); ?></th> | |
| 262 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_nogooglefont" <?php echo get_option('autoptimize_css_nogooglefont')?'checked="checked" ':''; ?>/> | |
| 263 | -<?php _e('Check this if you don\'t need or want Google Fonts being loaded.','autoptimize'); ?></label></td> | |
| 123 | +<tr valign="top"> | |
| 124 | +<th scope="row"><?php _e('Use YUI compression?','autoptimize'); ?></th> | |
| 125 | +<td><label for="autoptimize_css_yui"><input type="checkbox" name="autoptimize_css_yui" <?php echo get_option('autoptimize_css_yui')?'checked="checked" ':''; ?>/> | |
| 126 | +<?php _e('Disabled by default. Read [autoptimize]/yui/README.txt for more information.','autoptimize'); ?></label></td> | |
| 264 | 127 | </tr> |
| 265 | -<?php if (get_option('autoptimize_css_justhead')) { ?> | |
| 266 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv"> | |
| 267 | -<th scope="row"><?php _e('Look for styles only in <head>?','autoptimize'); echo ' <i>'. __('(deprecated)','autoptimize') . '</i>'; ?></th> | |
| 268 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_justhead" <?php echo get_option('autoptimize_css_justhead')?'checked="checked" ':''; ?>/> | |
| 269 | -<?php _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.','autoptimize'); ?></label></td> | |
| 128 | +</table> | |
| 129 | + | |
| 130 | +<h3><?php _e('CDN Options','autoptimize'); ?></h3> | |
| 131 | +<table class="form-table"> | |
| 132 | +<tr valign="top"> | |
| 133 | +<th scope="row"><?php _e('Rewrite JavaScript URLs?','autoptimize'); ?></th> | |
| 134 | +<td><label for="autoptimize_cdn_js"><input type="checkbox" name="autoptimize_cdn_js" <?php echo get_option('autoptimize_cdn_js')?'checked="checked" ':''; ?>/> | |
| 135 | +<?php _e('Disabled by default. Do not enable this unless you know what you are doing.','autoptimize'); ?></label></td> | |
| 270 | 136 | </tr> |
| 271 | -<?php } ?> | |
| 272 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv"> | |
| 273 | -<th scope="row"><?php _e('Also aggregate inline CSS?','autoptimize'); ?></th> | |
| 274 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_include_inline" <?php echo get_option('autoptimize_css_include_inline','1')?'checked="checked" ':''; ?>/> | |
| 275 | -<?php _e('Check this option for Autoptimize to also aggregate CSS in the HTML.','autoptimize'); ?></label></td> | |
| 137 | +<tr valign="top"> | |
| 138 | +<th scope="row"><?php _e('JavaScript Base URL','autoptimize'); ?></th> | |
| 139 | +<td><label for="autoptimize_cdn_js_url"><input type="text" name="autoptimize_cdn_js_url" value="<?php $it = get_option('autoptimize_cdn_js_url');echo htmlentities($it?$it:get_bloginfo('siteurl')); ?>" /> | |
| 140 | +<?php _e('This is the new base URL that will be used when rewriting. It should point to the blog root directory.','autoptimize'); ?></label></td> | |
| 276 | 141 | </tr> |
| 277 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv"> | |
| 278 | -<th scope="row"><?php _e('Inline and Defer CSS?','autoptimize'); ?></th> | |
| 279 | -<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_defer" id="autoptimize_css_defer" <?php echo get_option('autoptimize_css_defer')?'checked="checked" ':''; ?>/> | |
| 280 | -<?php _e('Inline "above the fold CSS" while loading the main autoptimized CSS only after page load. <a href="http://wordpress.org/plugins/autoptimize/faq/" target="_blank">Check the FAQ</a> before activating this option!','autoptimize'); ?></label></td> | |
| 142 | +<tr valign="top"> | |
| 143 | +<th scope="row"><?php _e('Rewrite CSS URLs?','autoptimize'); ?></th> | |
| 144 | +<td><label for="autoptimize_cdn_css"><input type="checkbox" name="autoptimize_cdn_css" <?php echo get_option('autoptimize_cdn_css')?'checked="checked" ':''; ?>/> | |
| 145 | +<?php _e('Disabled by default. Do not enable this unless you know what you are doing.','autoptimize'); ?></label></td> | |
| 281 | 146 | </tr> |
| 282 | -<tr valign="top" class="<?php echo $hiddenClass;?>css_sub ao_adv" id="autoptimize_css_defer_inline"> | |
| 283 | -<th scope="row"></th> | |
| 284 | -<td><label><textarea rows="10" cols="10" style="width:100%;" placeholder="<?php _e('Paste the above the fold CSS here.','autoptimize'); ?>" name="autoptimize_css_defer_inline"><?php echo get_option('autoptimize_css_defer_inline'); ?></textarea></label></td> | |
| 147 | +<tr valign="top"> | |
| 148 | +<th scope="row"><?php _e('CSS Base URL','autoptimize'); ?></th> | |
| 149 | +<td><label for="autoptimize_cdn_css_url"><input type="text" name="autoptimize_cdn_css_url" value="<?php $it = get_option('autoptimize_cdn_css_url');echo htmlentities($it?$it:get_bloginfo('siteurl')); ?>" /> | |
| 150 | +<?php _e('This is the new base URL that will be used when rewriting. It should point to the blog root directory.','autoptimize'); ?></label></td> | |
| 285 | 151 | </tr> |
| 286 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv css_sub"> | |
| 287 | -<th scope="row"><?php _e('Inline all CSS?','autoptimize'); ?></th> | |
| 288 | -<td><label class="cb_label"><input type="checkbox" id="autoptimize_css_inline" name="autoptimize_css_inline" <?php echo get_option('autoptimize_css_inline')?'checked="checked" ':''; ?>/> | |
| 289 | -<?php _e('Inlining all CSS can improve performance for sites with a low pageviews/ visitor-rate, but may slow down performance otherwise.','autoptimize'); ?></label></td> | |
| 152 | +<tr valign="top"> | |
| 153 | +<th scope="row"><?php _e('Rewrite Image URLs?','autoptimize'); ?></th> | |
| 154 | +<td><label for="autoptimize_cdn_img"><input type="checkbox" name="autoptimize_cdn_img" <?php echo get_option('autoptimize_cdn_img')?'checked="checked" ':''; ?>/> | |
| 155 | +<?php _e('Disabled by default. Do not enable this unless you know what you are doing.','autoptimize'); ?></label></td> | |
| 290 | 156 | </tr> |
| 291 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv css_sub"> | |
| 292 | -<th scope="row"><?php _e('Exclude CSS from Autoptimize:','autoptimize'); ?></th> | |
| 293 | -<td><label><input type="text" style="width:100%;" name="autoptimize_css_exclude" value="<?php echo get_option('autoptimize_css_exclude','admin-bar.min.css, dashicons.min.css'); ?>"/><br /> | |
| 294 | -<?php _e('A comma-separated list of CSS you want to exclude from being optimized.','autoptimize'); ?></label></td> | |
| 157 | +<tr valign="top"> | |
| 158 | +<th scope="row"><?php _e('Image Base URL','autoptimize'); ?></th> | |
| 159 | +<td><label for="autoptimize_cdn_img_url"><input type="text" name="autoptimize_cdn_img_url" value="<?php $it = get_option('autoptimize_cdn_img_url');echo htmlentities($it?$it:get_bloginfo('siteurl')); ?>" /> | |
| 160 | +<?php _e('This is the new base URL that will be used when rewriting. It should point to the blog root directory.','autoptimize'); ?></label></td> | |
| 295 | 161 | </tr> |
| 296 | 162 | </table> |
| 297 | -</li> | |
| 298 | 163 | |
| 299 | -<li class="itemDetail"> | |
| 300 | -<h2 class="itemTitle"><?php _e('CDN Options','autoptimize'); ?></h2> | |
| 164 | +<h3><?php _e('Cache Info','autoptimize'); ?></h3> | |
| 301 | 165 | <table class="form-table"> |
| 302 | 166 | <tr valign="top"> |
| 303 | -<th scope="row"><?php _e('CDN Base URL','autoptimize'); ?></th> | |
| 304 | -<td><label><input id="cdn_url" type="text" name="autoptimize_cdn_url" pattern="^(https?:)?\/\/([\da-z\.-]+)\.([\da-z\.]{2,6})([\/\w \.-]*)*(:\d{2,5})?\/?$" style="width:100%" value="<?php echo esc_url(get_option('autoptimize_cdn_url',''),array("http","https")); ?>" /><br /> | |
| 305 | -<?php _e('Enter your CDN root URL to enable CDN for Autoptimized files. The URL can be http, https or protocol-relative (e.g. <code>//cdn.example.com/</code>). This is not needed for Cloudflare.','autoptimize'); ?></label></td> | |
| 306 | -</tr> | |
| 307 | -</table> | |
| 308 | -</li> | |
| 309 | - | |
| 310 | -<li class="<?php echo $hiddenClass;?>itemDetail ao_adv"> | |
| 311 | -<h2 class="itemTitle"><?php _e('Cache Info','autoptimize'); ?></h2> | |
| 312 | -<table class="form-table" > | |
| 313 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 314 | 167 | <th scope="row"><?php _e('Cache folder','autoptimize'); ?></th> |
| 315 | 168 | <td><?php echo htmlentities(AUTOPTIMIZE_CACHE_DIR); ?></td> |
| 316 | 169 | </tr> |
| 317 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 170 | +<tr valign="top"> | |
| 318 | 171 | <th scope="row"><?php _e('Can we write?','autoptimize'); ?></th> |
| 319 | 172 | <td><?php echo (autoptimizeCache::cacheavail() ? __('Yes','autoptimize') : __('No','autoptimize')); ?></td> |
| 320 | 173 | </tr> |
| 321 | -<tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 174 | +<tr valign="top"> | |
| 322 | 175 | <th scope="row"><?php _e('Cached styles and scripts','autoptimize'); ?></th> |
| 323 | -<td><?php | |
| 324 | - $AOstatArr=autoptimizeCache::stats(); | |
| 325 | - $AOcacheSize=round($AOstatArr[1]/1024); | |
| 326 | - printf( __( '%1$s files, totalling %2$s Kbytes (calculated at %3$s)', 'autoptimize'), $AOstatArr[0], $AOcacheSize, date("H:i e", $AOstatArr[2]) ); | |
| 327 | -?></td> | |
| 176 | +<td><?php echo autoptimizeCache::stats(); ?></td> | |
| 328 | 177 | </tr> |
| 178 | +<tr valign="top"> | |
| 179 | +<th scope="row"><?php _e('Do not compress cache files','autoptimize'); ?></th> | |
| 180 | +<td><label for="autoptimize_cache_nogzip"><input type="checkbox" name="autoptimize_cache_nogzip" <?php echo get_option('autoptimize_cache_nogzip')?'checked="checked" ':''; ?>/> | |
| 181 | +<?php _e('Disabled by default. Enable this if you want to compress the served files using your webserver.','autoptimize'); ?></label></td> | |
| 182 | +</tr> | |
| 329 | 183 | </table> |
| 330 | -</li> | |
| 331 | 184 | |
| 332 | -<li class="<?php echo $hiddenClass;?>itemDetail ao_adv"> | |
| 333 | -<h2 class="itemTitle"><?php _e('Misc Options','autoptimize'); ?></h2> | |
| 334 | -<table class="form-table"> | |
| 335 | - <tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 336 | - <th scope="row"><?php _e('Save aggregated script/css as static files?','autoptimize'); ?></th> | |
| 337 | - <td><label class="cb_label"><input type="checkbox" name="autoptimize_cache_nogzip" <?php echo get_option('autoptimize_cache_nogzip','1')?'checked="checked" ':''; ?>/> | |
| 338 | - <?php _e('By default files saved are static css/js, uncheck this option if your webserver doesn\'t properly handle the compression and expiry.','autoptimize'); ?></label> | |
| 339 | - </td> | |
| 340 | - </tr> | |
| 341 | - <tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 342 | - <th scope="row"><?php _e('Also optimize for logged in users?','autoptimize'); ?></th> | |
| 343 | - <td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_logged" <?php echo get_option('autoptimize_optimize_logged','1')?'checked="checked" ':''; ?>/> | |
| 344 | - <?php _e('By default Autoptimize is also active for logged on users, uncheck not to optimize when logged in e.g. to use a pagebuilder.','autoptimize'); ?></label> | |
| 345 | - </td> | |
| 346 | - </tr> | |
| 347 | - <?php | |
| 348 | - if ( function_exists("is_checkout") || function_exists("is_cart") || function_exists("edd_is_checkout") || function_exists("wpsc_is_cart") || function_exists("wpsc_is_checkout") ) { | |
| 349 | - ?> | |
| 350 | - <tr valign="top" class="<?php echo $hiddenClass;?>ao_adv"> | |
| 351 | - <th scope="row"><?php _e('Also optimize shop cart/ checkout?','autoptimize'); ?></th> | |
| 352 | - <td><label class="cb_label"><input type="checkbox" name="autoptimize_optimize_checkout" <?php echo get_option('autoptimize_optimize_checkout','1')?'checked="checked" ':''; ?>/> | |
| 353 | - <?php _e('By default Autoptimize is also active on your shop\'s cart/ checkout, uncheck not to optimize those.','autoptimize'); ?></label> | |
| 354 | - </td> | |
| 355 | - </tr> | |
| 356 | - <?php | |
| 357 | - } | |
| 358 | - ?> | |
| 359 | 185 | </table> |
| 360 | -</li> | |
| 361 | 186 | |
| 362 | -</ul> | |
| 363 | - | |
| 364 | -<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php echo get_option('autoptimize_show_adv','0'); ?>"> | |
| 365 | - | |
| 366 | 187 | <p class="submit"> |
| 367 | -<input type="submit" class="button-secondary" value="<?php _e('Save Changes','autoptimize') ?>" /> | |
| 368 | -<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php _e('Save Changes and Empty Cache','autoptimize') ?>" /> | |
| 188 | +<input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /> | |
| 189 | +<input type="submit" name="autoptimize_cache_clean" value="<?php _e('Save Changes and Empty Cache') ?>" /> | |
| 369 | 190 | </p> |
| 370 | 191 | |
| 371 | 192 | </form> |
| 372 | 193 | </div> |
| 373 | -<div id="autoptimize_admin_feed" class="hidden"> | |
| 374 | - <div class="autoptimize_banner hidden"> | |
| 375 | - <ul> | |
| 376 | - <?php | |
| 377 | - if (apply_filters('autoptimize_settingsscreen_remotehttp',true)) { | |
| 378 | - $AO_banner=get_transient("autoptimize_banner"); | |
| 379 | - if (empty($AO_banner)) { | |
| 380 | - $banner_resp = wp_remote_get("http://misc.optimizingmatters.com/autoptimize_news.html"); | |
| 381 | - if (!is_wp_error($banner_resp)) { | |
| 382 | - if (wp_remote_retrieve_response_code($banner_resp)=="200") { | |
| 383 | - $AO_banner = wp_kses_post(wp_remote_retrieve_body($banner_resp)); | |
| 384 | - set_transient("autoptimize_banner",$AO_banner,DAY_IN_SECONDS); | |
| 385 | - } | |
| 386 | - } | |
| 387 | - } | |
| 388 | - echo $AO_banner; | |
| 389 | - } | |
| 390 | - ?> | |
| 391 | - <li><?php _e("Need help? <a href='https://wordpress.org/plugins/autoptimize/faq/'>Check out the FAQ here</a>.","autoptimize"); ?></li> | |
| 392 | - <li><?php _e("Happy with Autoptimize?","autoptimize"); ?><br /><a href="<?php echo network_admin_url(); ?>plugin-install.php?tab=search&type=author&s=optimizingmatters"><?php _e("Try my other plugins!","autoptimize"); ?></a></li> | |
| 393 | - </ul> | |
| 394 | - </div> | |
| 395 | - <div style="margin-left:10px;margin-top:-5px;"> | |
| 396 | - <h2> | |
| 397 | - <?php _e("futtta about","autoptimize") ?> | |
| 398 | - <select id="feed_dropdown" > | |
| 399 | - <option value="1"><?php _e("Autoptimize","autoptimize") ?></option> | |
| 400 | - <option value="2"><?php _e("WordPress","autoptimize") ?></option> | |
| 401 | - <option value="3"><?php _e("Web Technology","autoptimize") ?></option> | |
| 402 | - </select> | |
| 403 | - </h2> | |
| 404 | - <div id="futtta_feed"> | |
| 405 | - <div id="autoptimizefeed"> | |
| 406 | - <?php $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_autoptimize"); ?> | |
| 407 | - </div> | |
| 408 | - <div id="wordpressfeed"> | |
| 409 | - <?php $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_wordpress"); ?> | |
| 410 | - </div> | |
| 411 | - <div id="webtechfeed"> | |
| 412 | - <?php $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_webtech"); ?> | |
| 413 | - </div> | |
| 414 | - </div> | |
| 415 | - </div> | |
| 416 | - <div style="float:right;margin:50px 15px;"><a href="http://blog.futtta.be/2013/10/21/do-not-donate-to-me/" target="_blank"><img width="100px" height="85px" src="<?php echo plugins_url().'/'.plugin_basename(dirname(__FILE__)).'/external/do_not_donate_smallest.png'; ?>" title="<?php _e("Do not donate for this plugin!","autoptimize"); ?>"></a></div> | |
| 417 | -</div> | |
| 418 | - | |
| 419 | -<script type="text/javascript"> | |
| 420 | - var feed = new Array; | |
| 421 | - feed[1]="autoptimizefeed"; | |
| 422 | - feed[2]="wordpressfeed"; | |
| 423 | - feed[3]="webtechfeed"; | |
| 424 | - cookiename="autoptimize_feed"; | |
| 425 | - | |
| 426 | - jQuery(document).ready(function() { | |
| 427 | - check_ini_state(); | |
| 428 | - jQuery('#autoptimize_admin_feed').fadeTo("slow",1).show(); | |
| 429 | - jQuery('.autoptimize_banner').unslider({autoplay:true, delay:3500, infinite: false, arrows:{prev:'<a class="unslider-arrow prev"></a>', next:'<a class="unslider-arrow next"></a>'}}).fadeTo("slow",1).show(); | |
| 430 | - | |
| 431 | - jQuery( "#feed_dropdown" ).change(function() { | |
| 432 | - jQuery("#futtta_feed").fadeTo(0,0); | |
| 433 | - jQuery("#futtta_feed").fadeTo("slow",1); | |
| 434 | - }); | |
| 435 | - | |
| 436 | - jQuery( "#ao_show_adv" ).click(function() { | |
| 437 | - jQuery( "#ao_show_adv" ).hide(); | |
| 438 | - jQuery( "#ao_hide_adv" ).show(); | |
| 439 | - jQuery( ".ao_adv" ).removeClass("hidden"); | |
| 440 | - jQuery( ".ao_adv" ).show("slow"); | |
| 441 | - if (jQuery("#autoptimize_css").attr('checked')) { | |
| 442 | - jQuery(".css_sub:visible").fadeTo("fast",1); | |
| 443 | - if (!jQuery("#autoptimize_css_defer").attr('checked')) { | |
| 444 | - jQuery("#autoptimize_css_defer_inline").hide(); | |
| 445 | - } | |
| 446 | - } | |
| 447 | - if (jQuery("#autoptimize_js").attr('checked')) { | |
| 448 | - jQuery(".js_sub:visible").fadeTo("fast",1); | |
| 449 | - } | |
| 450 | - check_ini_state() | |
| 451 | - jQuery( "input#autoptimize_show_adv" ).val("1"); | |
| 452 | - }); | |
| 453 | - | |
| 454 | - jQuery( "#ao_hide_adv" ).click(function() { | |
| 455 | - jQuery( "#ao_hide_adv" ).hide(); | |
| 456 | - jQuery( "#ao_show_adv" ).show(); | |
| 457 | - jQuery( ".ao_adv" ).hide("slow"); | |
| 458 | - jQuery( ".ao_adv" ).addClass("hidden"); | |
| 459 | - if (!jQuery("#autoptimize_css").attr('checked')) { | |
| 460 | - jQuery(".css_sub:visible").fadeTo("fast",.33); | |
| 461 | - } | |
| 462 | - if (!jQuery("#autoptimize_js").attr('checked')) { | |
| 463 | - jQuery(".js_sub:visible").fadeTo("fast",.33); | |
| 464 | - } | |
| 465 | - check_ini_state() | |
| 466 | - jQuery( "input#autoptimize_show_adv" ).val("0"); | |
| 467 | - }); | |
| 468 | - | |
| 469 | - jQuery( "#autoptimize_html" ).change(function() { | |
| 470 | - if (this.checked) { | |
| 471 | - jQuery(".html_sub:visible").fadeTo("fast",1); | |
| 472 | - } else { | |
| 473 | - jQuery(".html_sub:visible").fadeTo("fast",.33); | |
| 474 | - } | |
| 475 | - }); | |
| 476 | - | |
| 477 | - jQuery( "#autoptimize_js" ).change(function() { | |
| 478 | - if (this.checked) { | |
| 479 | - jQuery(".js_sub:visible").fadeTo("fast",1); | |
| 480 | - } else { | |
| 481 | - jQuery(".js_sub:visible").fadeTo("fast",.33); | |
| 482 | - } | |
| 483 | - }); | |
| 484 | - | |
| 485 | - jQuery( "#autoptimize_css" ).change(function() { | |
| 486 | - if (this.checked) { | |
| 487 | - jQuery(".css_sub:visible").fadeTo("fast",1); | |
| 488 | - } else { | |
| 489 | - jQuery(".css_sub:visible").fadeTo("fast",.33); | |
| 490 | - } | |
| 491 | - }); | |
| 492 | - | |
| 493 | - jQuery( "#autoptimize_css_inline" ).change(function() { | |
| 494 | - if (this.checked) { | |
| 495 | - jQuery("#autoptimize_css_defer").prop("checked",false); | |
| 496 | - jQuery("#autoptimize_css_defer_inline").hide("slow"); | |
| 497 | - } | |
| 498 | - }); | |
| 499 | - | |
| 500 | - jQuery( "#autoptimize_css_defer" ).change(function() { | |
| 501 | - if (this.checked) { | |
| 502 | - jQuery("#autoptimize_css_inline").prop("checked",false); | |
| 503 | - jQuery("#autoptimize_css_defer_inline").show("slow"); | |
| 504 | - } else { | |
| 505 | - jQuery("#autoptimize_css_defer_inline").hide("slow"); | |
| 506 | - } | |
| 507 | - }); | |
| 508 | - | |
| 509 | - jQuery("#feed_dropdown").change(function() { show_feed(jQuery("#feed_dropdown").val()) }); | |
| 510 | - feedid=jQuery.cookie(cookiename); | |
| 511 | - if(typeof(feedid) !== "string") feedid=1; | |
| 512 | - show_feed(feedid); | |
| 513 | - }) | |
| 514 | - | |
| 515 | - // validate cdn_url | |
| 516 | - var cdn_url=document.getElementById("cdn_url"); | |
| 517 | - cdn_url_baseCSS=cdn_url.style.cssText; | |
| 518 | - if ("validity" in cdn_url) { | |
| 519 | - jQuery("#cdn_url").focusout(function (event) { | |
| 520 | - if (cdn_url.validity.valid) { | |
| 521 | - cdn_url.style.cssText=cdn_url_baseCSS; | |
| 522 | - } else { | |
| 523 | - cdn_url.style.cssText=cdn_url_baseCSS+"border:1px solid #f00;color:#f00;box-shadow: 0 0 2px #f00;"; | |
| 524 | - }}); | |
| 525 | - } | |
| 526 | - | |
| 527 | - function check_ini_state() { | |
| 528 | - if (!jQuery("#autoptimize_css_defer").attr('checked')) { | |
| 529 | - jQuery("#autoptimize_css_defer_inline").hide(); | |
| 530 | - } | |
| 531 | - if (!jQuery("#autoptimize_html").attr('checked')) { | |
| 532 | - jQuery(".html_sub:visible").fadeTo('fast',.33); | |
| 533 | - } | |
| 534 | - if (!jQuery("#autoptimize_css").attr('checked')) { | |
| 535 | - jQuery(".css_sub:visible").fadeTo('fast',.33); | |
| 536 | - } | |
| 537 | - if (!jQuery("#autoptimize_js").attr('checked')) { | |
| 538 | - jQuery(".js_sub:visible").fadeTo('fast',.33); | |
| 539 | - } | |
| 540 | - } | |
| 541 | - | |
| 542 | - function show_feed(id) { | |
| 543 | - jQuery('#futtta_feed').children().hide(); | |
| 544 | - jQuery('#'+feed[id]).show(); | |
| 545 | - jQuery("#feed_dropdown").val(id); | |
| 546 | - jQuery.cookie(cookiename,id,{ expires: 365 }); | |
| 547 | - } | |
| 548 | -</script> | |
| 549 | -</div> | |
| 550 | - | |
| 551 | 194 | <?php |
| 552 | - } | |
| 553 | - | |
| 554 | - public function addmenu() { | |
| 555 | - $hook=add_options_page(__('Autoptimize Options','autoptimize'),'Autoptimize','manage_options','autoptimize',array($this,'show')); | |
| 556 | - add_action( 'admin_print_scripts-'.$hook,array($this,'autoptimize_admin_scripts')); | |
| 557 | - add_action( 'admin_print_styles-'.$hook,array($this,'autoptimize_admin_styles')); | |
| 558 | - } | |
| 559 | - | |
| 560 | - public function autoptimize_admin_scripts() { | |
| 561 | - wp_enqueue_script('jqcookie', plugins_url('/external/js/jquery.cookie.min.js', __FILE__), array('jquery'),null,true); | |
| 562 | - wp_enqueue_script('unslider', plugins_url('/external/js/unslider-min.js', __FILE__), array('jquery'),null,true); | |
| 563 | - } | |
| 564 | - | |
| 565 | - public function autoptimize_admin_styles() { | |
| 566 | - wp_enqueue_style('unslider', plugins_url('/external/js/unslider.css', __FILE__)); | |
| 567 | - wp_enqueue_style('unslider-dots', plugins_url('/external/js/unslider-dots.css', __FILE__)); | |
| 568 | - } | |
| 569 | - | |
| 570 | - public function registersettings() { | |
| 571 | - register_setting('autoptimize','autoptimize_html'); | |
| 572 | - register_setting('autoptimize','autoptimize_html_keepcomments'); | |
| 573 | - register_setting('autoptimize','autoptimize_js'); | |
| 574 | - register_setting('autoptimize','autoptimize_js_exclude'); | |
| 575 | - register_setting('autoptimize','autoptimize_js_trycatch'); | |
| 576 | - register_setting('autoptimize','autoptimize_js_justhead'); | |
| 577 | - register_setting('autoptimize','autoptimize_js_forcehead'); | |
| 578 | - register_setting('autoptimize','autoptimize_js_include_inline'); | |
| 579 | - register_setting('autoptimize','autoptimize_css'); | |
| 580 | - register_setting('autoptimize','autoptimize_css_exclude'); | |
| 581 | - register_setting('autoptimize','autoptimize_css_justhead'); | |
| 582 | - register_setting('autoptimize','autoptimize_css_datauris'); | |
| 583 | - register_setting('autoptimize','autoptimize_css_defer'); | |
| 584 | - register_setting('autoptimize','autoptimize_css_defer_inline'); | |
| 585 | - register_setting('autoptimize','autoptimize_css_inline'); | |
| 586 | - register_setting('autoptimize','autoptimize_css_include_inline'); | |
| 587 | - register_setting('autoptimize','autoptimize_css_nogooglefont'); | |
| 588 | - register_setting('autoptimize','autoptimize_cdn_url'); | |
| 589 | - register_setting('autoptimize','autoptimize_cache_clean'); | |
| 590 | - register_setting('autoptimize','autoptimize_cache_nogzip'); | |
| 591 | - register_setting('autoptimize','autoptimize_show_adv'); | |
| 592 | - register_setting('autoptimize','autoptimize_optimize_logged'); | |
| 593 | - register_setting('autoptimize','autoptimize_optimize_checkout'); | |
| 594 | - } | |
| 595 | - | |
| 596 | - public function setmeta($links,$file=null) { | |
| 597 | - //Inspired on http://wpengineer.com/meta-links-for-wordpress-plugins/ | |
| 598 | - //Do it only once - saves time | |
| 599 | - static $plugin; | |
| 600 | - if(empty($plugin)) | |
| 601 | - $plugin = plugin_basename(AUTOPTIMIZE_PLUGIN_DIR.'autoptimize.php'); | |
| 602 | - | |
| 603 | - if($file===null) { | |
| 604 | - //2.7 | |
| 605 | - $settings_link = sprintf('<a href="options-general.php?page=autoptimize">%s</a>', __('Settings')); | |
| 606 | - array_unshift($links,$settings_link); | |
| 607 | - } else { | |
| 608 | - //2.8 | |
| 609 | - //If it's us, add the link | |
| 610 | - if($file === $plugin) { | |
| 611 | - $newlink = array(sprintf('<a href="options-general.php?page=autoptimize">%s</a>',__('Settings'))); | |
| 612 | - $links = array_merge($links,$newlink); | |
| 613 | - } | |
| 614 | - } | |
| 615 | - | |
| 616 | - return $links; | |
| 617 | - } | |
| 618 | - | |
| 619 | - public function get($key) { | |
| 620 | - if(!is_array($this->config)) { | |
| 621 | - //Default config | |
| 622 | - $config = array('autoptimize_html' => 0, | |
| 623 | - 'autoptimize_html_keepcomments' => 0, | |
| 624 | - 'autoptimize_js' => 0, | |
| 625 | - 'autoptimize_js_exclude' => "seal.js, js/jquery/jquery.js", | |
| 626 | - 'autoptimize_js_trycatch' => 0, | |
| 627 | - 'autoptimize_js_justhead' => 0, | |
| 628 | - 'autoptimize_js_include_inline' => 0, | |
| 629 | - 'autoptimize_js_forcehead' => 0, | |
| 630 | - 'autoptimize_css' => 0, | |
| 631 | - 'autoptimize_css_exclude' => "admin-bar.min.css, dashicons.min.css", | |
| 632 | - 'autoptimize_css_justhead' => 0, | |
| 633 | - 'autoptimize_css_include_inline' => 1, | |
| 634 | - 'autoptimize_css_defer' => 0, | |
| 635 | - 'autoptimize_css_defer_inline' => "", | |
| 636 | - 'autoptimize_css_inline' => 0, | |
| 637 | - 'autoptimize_css_datauris' => 0, | |
| 638 | - 'autoptimize_css_nogooglefont' => 0, | |
| 639 | - 'autoptimize_cdn_url' => "", | |
| 640 | - 'autoptimize_cache_nogzip' => 1, | |
| 641 | - 'autoptimize_show_adv' => 0, | |
| 642 | - 'autoptimize_optimize_logged' => 1, | |
| 643 | - 'autoptimize_optimize_checkout' => 1 | |
| 644 | - ); | |
| 645 | - | |
| 646 | - //Override with user settings | |
| 647 | - foreach(array_keys($config) as $name) { | |
| 648 | - $conf = get_option($name); | |
| 649 | - if($conf!==false) { | |
| 650 | - //It was set before! | |
| 651 | - $config[$name] = $conf; | |
| 652 | - } | |
| 653 | - } | |
| 654 | - | |
| 655 | - //Save for next question | |
| 656 | - $this->config = $config; | |
| 657 | - } | |
| 658 | - | |
| 659 | - if(isset($this->config[$key])) | |
| 660 | - return $this->config[$key]; | |
| 661 | - | |
| 662 | - return false; | |
| 663 | - } | |
| 664 | - | |
| 665 | - private function getFutttaFeeds($url) { | |
| 666 | - if (apply_filters('autoptimize_settingsscreen_remotehttp',true)) { | |
| 667 | - $rss = fetch_feed( $url ); | |
| 668 | - $maxitems = 0; | |
| 669 | - | |
| 670 | - if ( ! is_wp_error( $rss ) ) { | |
| 671 | - $maxitems = $rss->get_item_quantity( 7 ); | |
| 672 | - $rss_items = $rss->get_items( 0, $maxitems ); | |
| 673 | - } | |
| 674 | - ?> | |
| 675 | - <ul> | |
| 676 | - <?php if ( $maxitems == 0 ) : ?> | |
| 677 | - <li><?php _e( 'No items', 'autoptimize' ); ?></li> | |
| 678 | - <?php else : ?> | |
| 679 | - <?php foreach ( $rss_items as $item ) : ?> | |
| 680 | - <li> | |
| 681 | - <a href="<?php echo esc_url( $item->get_permalink() ); ?>" | |
| 682 | - title="<?php printf( __( 'Posted %s', 'autoptimize' ), $item->get_date('j F Y | g:i a') ); ?>"> | |
| 683 | - <?php echo esc_html( $item->get_title() ); ?> | |
| 684 | - </a> | |
| 685 | - </li> | |
| 686 | - <?php endforeach; ?> | |
| 687 | - <?php endif; ?> | |
| 688 | - </ul> | |
| 689 | - <?php | |
| 690 | - } | |
| 691 | - } | |
| 692 | - | |
| 693 | - // based on http://wordpress.stackexchange.com/a/58826 | |
| 694 | - static function ao_admin_tabs(){ | |
| 695 | - $tabs = apply_filters('autoptimize_filter_settingsscreen_tabs',array('autoptimize' => __('Main','autoptimize'))); | |
| 696 | - $tabContent=""; | |
| 697 | - if (count($tabs)>1) { | |
| 698 | - if(isset($_GET['page'])){ | |
| 699 | - $currentId = $_GET['page']; | |
| 700 | - } else { | |
| 701 | - $currentId = "autoptimize"; | |
| 702 | - } | |
| 703 | - $tabContent .= "<h2 class=\"nav-tab-wrapper\">"; | |
| 704 | - foreach($tabs as $tabId => $tabName){ | |
| 705 | - if($currentId == $tabId){ | |
| 706 | - $class = " nav-tab-active"; | |
| 707 | - } else{ | |
| 708 | - $class = ""; | |
| 709 | - } | |
| 710 | - $tabContent .= '<a class="nav-tab'.$class.'" href="?page='.$tabId.'">'.$tabName.'</a>'; | |
| 711 | - } | |
| 712 | - $tabContent .= "</h2>"; | |
| 713 | - } else { | |
| 714 | - $tabContent = "<hr/>"; | |
| 715 | - } | |
| 716 | - | |
| 717 | - return $tabContent; | |
| 718 | - } | |
| 195 | + } | |
| 196 | + | |
| 197 | + public function addmenu() | |
| 198 | + { | |
| 199 | + add_options_page(__('Autoptimize Options','autoptimize'),'Autoptimize',8,'autoptimize',array($this,'show')); | |
| 200 | + } | |
| 201 | + | |
| 202 | + public function registersettings() | |
| 203 | + { | |
| 204 | + register_setting('autoptimize','autoptimize_html'); | |
| 205 | + register_setting('autoptimize','autoptimize_html_keepcomments'); | |
| 206 | + register_setting('autoptimize','autoptimize_js'); | |
| 207 | + register_setting('autoptimize','autoptimize_js_trycatch'); | |
| 208 | + register_setting('autoptimize','autoptimize_js_justhead'); | |
| 209 | + register_setting('autoptimize','autoptimize_js_yui'); | |
| 210 | + register_setting('autoptimize','autoptimize_css'); | |
| 211 | + register_setting('autoptimize','autoptimize_css_justhead'); | |
| 212 | + register_setting('autoptimize','autoptimize_css_datauris'); | |
| 213 | + register_setting('autoptimize','autoptimize_css_yui'); | |
| 214 | + register_setting('autoptimize','autoptimize_cdn_js'); | |
| 215 | + register_setting('autoptimize','autoptimize_cdn_js_url'); | |
| 216 | + register_setting('autoptimize','autoptimize_cdn_css'); | |
| 217 | + register_setting('autoptimize','autoptimize_cdn_css_url'); | |
| 218 | + register_setting('autoptimize','autoptimize_cdn_img'); | |
| 219 | + register_setting('autoptimize','autoptimize_cdn_img_url'); | |
| 220 | + register_setting('autoptimize','autoptimize_cache_clean'); | |
| 221 | + register_setting('autoptimize','autoptimize_cache_nogzip'); | |
| 222 | + } | |
| 223 | + | |
| 224 | + public function setmeta($links,$file=null) | |
| 225 | + { | |
| 226 | + //Inspired on http://wpengineer.com/meta-links-for-wordpress-plugins/ | |
| 227 | + | |
| 228 | + //Do it only once - saves time | |
| 229 | + static $plugin; | |
| 230 | + if(empty($plugin)) | |
| 231 | + $plugin = plugin_basename(WP_PLUGIN_DIR.'/autoptimize/autoptimize.php'); | |
| 232 | + | |
| 233 | + if($file===null) | |
| 234 | + { | |
| 235 | + //2.7 | |
| 236 | + $settings_link = sprintf('<a href="options-general.php?page=autoptimize">%s</a>', __('Settings')); | |
| 237 | + array_unshift($links,$settings_link); | |
| 238 | + }else{ | |
| 239 | + //2.8 | |
| 240 | + //If it's us, add the link | |
| 241 | + if($file === $plugin) | |
| 242 | + { | |
| 243 | + $newlink = array(sprintf('<a href="options-general.php?page=autoptimize">%s</a>',__('Settings'))); | |
| 244 | + $links = array_merge($links,$newlink); | |
| 245 | + } | |
| 246 | + } | |
| 247 | + | |
| 248 | + return $links; | |
| 249 | + } | |
| 250 | + | |
| 251 | + public function get($key) | |
| 252 | + { | |
| 253 | + if(!is_array($this->config)) | |
| 254 | + { | |
| 255 | + //Default config | |
| 256 | + $config = array('autoptimize_html' => 0, | |
| 257 | + 'autoptimize_html_keepcomments' => 0, | |
| 258 | + 'autoptimize_js' => 0, | |
| 259 | + 'autoptimize_js_trycatch' => 0, | |
| 260 | + 'autoptimize_js_justhead' => 0, | |
| 261 | + 'autoptimize_js_yui' => 0, | |
| 262 | + 'autoptimize_css' => 0, | |
| 263 | + 'autoptimize_css_justhead' => 0, | |
| 264 | + 'autoptimize_css_datauris' => 0, | |
| 265 | + 'autoptimize_css_yui' => 0, | |
| 266 | + 'autoptimize_cdn_js' => 0, | |
| 267 | + 'autoptimize_cdn_js_url' => get_bloginfo('siteurl'), | |
| 268 | + 'autoptimize_cdn_css' => 0, | |
| 269 | + 'autoptimize_cdn_css_url' => get_bloginfo('siteurl'), | |
| 270 | + 'autoptimize_cdn_img' => 0, | |
| 271 | + 'autoptimize_cdn_img_url' => get_bloginfo('siteurl'), | |
| 272 | + 'autoptimize_cache_nogzip' => 0, | |
| 273 | + ); | |
| 274 | + | |
| 275 | + //Override with user settings | |
| 276 | + foreach(array_keys($config) as $name) | |
| 277 | + { | |
| 278 | + $conf = get_option($name); | |
| 279 | + if($conf!==false) | |
| 280 | + { | |
| 281 | + //It was set before! | |
| 282 | + $config[$name] = $conf; | |
| 283 | + } | |
| 284 | + } | |
| 285 | + | |
| 286 | + //Save for next question | |
| 287 | + $this->config = $config; | |
| 288 | + } | |
| 289 | + | |
| 290 | + if(isset($this->config[$key])) | |
| 291 | + return $this->config[$key]; | |
| 292 | + | |
| 293 | + return false; | |
| 294 | + } | |
| 719 | 295 | } |