예제 #1
0
 public function add_toolbar()
 {
     global $wp_admin_bar;
     // Retrieve the Autoptimize Cache Stats information
     $stats = autoptimizeCache::stats();
     // Set the Max Size recommended for cache files
     $max_size = apply_filters('autoptimize_filter_cachecheck_maxsize', 512 * 1024 * 1024);
     // Retrieve the current Total Files in cache
     $files = $stats[0];
     // Retrieve the current Total Size of the cache
     $bytes = $stats[1];
     $size = $this->format_filesize($bytes);
     // We calculated the percentage of cache used
     $percentage = ceil($bytes / $max_size * 100);
     if ($percentage > 100) {
         $percentage = 100;
     }
     // We define the type of color indicator for the current state of cache size.
     // "green" if the size is less than 80% of the total recommended
     // "orange" if over 80%
     // "red" if over 100%
     $color = $percentage == 100 ? 'red' : ($percentage > 80 ? 'orange' : 'green');
     // Create or add new items into the Admin Toolbar.
     // Main Autoptimize node
     $wp_admin_bar->add_node(array('id' => 'autoptimize', 'title' => '<span class="ab-icon"></span><span class="ab-label">' . __("Autoptimize", 'autoptimize') . '</span>', 'href' => admin_url('options-general.php?page=autoptimize'), 'meta' => array('class' => 'bullet-' . $color)));
     // Cache Info node
     $wp_admin_bar->add_node(array('id' => 'autoptimize-cache-info', 'title' => '<p>' . __("Cache Info", 'autoptimize') . '</p>' . '<div class="autoptimize-radial-bar" percentage="' . $percentage . '">' . '<div class="circle">' . '<div class="mask full"><div class="fill bg-' . $color . '"></div></div>' . '<div class="mask half"><div class="fill bg-' . $color . '"></div></div>' . '<div class="shadow"></div>' . '</div>' . '<div class="inset"><div class="percentage"><div class="numbers ' . $color . '">' . $percentage . '%</div></div></div>' . '</div>' . '<table>' . '<tr><td>' . __("Size", 'autoptimize') . ':</td><td class="size ' . $color . '">' . $size . '</td></tr>' . '<tr><td>' . __("Files", 'autoptimize') . ':</td><td class="files white">' . $files . '</td></tr>' . '</table>', 'parent' => 'autoptimize'));
     // Delete Cache node
     $wp_admin_bar->add_node(array('id' => 'autoptimize-delete-cache', 'title' => __("Delete Cache", 'autoptimize'), 'parent' => 'autoptimize'));
 }
function autoptimize_cachechecker_notice()
{
    if ((bool) get_option("autoptimize_cachesize_notice", false)) {
        $statArr = autoptimizeCache::stats();
        $cacheSize = round($statArr[1] / 1024);
        echo '<div class="update-nag">';
        _e('Autoptimize\'s cache size is getting big, consider purging the cache.<br /><br />Have a look at <a href="https://wordpress.org/plugins/autoptimize/faq/" target="_blank">the Autoptimize FAQ</a> to see how you can keep the cache size under control.', 'autoptimize');
        echo '</div>';
        update_option("autoptimize_cachesize_notice", false);
    }
}
예제 #3
0
function ao_cachechecker_cronjob()
{
    $maxSize = (int) apply_filters("autoptimize_filter_cachecheck_maxsize", 512000);
    $doCacheCheck = (bool) apply_filters("autoptimize_filter_cachecheck_do", true);
    $statArr = autoptimizeCache::stats();
    $cacheSize = round($statArr[1] / 1024);
    if ($cacheSize > $maxSize && $doCacheCheck) {
        update_option("autoptimize_cachesize_notice", true);
        if (apply_filters('autoptimize_filter_cachecheck_sendmail', true)) {
            $ao_mailto = apply_filters('autoptimize_filter_cachecheck_mailto', get_option('admin_email', ''));
            $ao_mailsubject = __('Autoptimize cache size warning', 'autoptimize');
            $ao_mailbody = __('Autoptimize\'s cache size is getting big, consider purging the cache. Have a look at https://wordpress.org/plugins/autoptimize/faq/ to see how you can keep the cache size under control.', 'autoptimize');
            if (!empty($ao_mailto)) {
                $ao_mailresult = wp_mail($ao_mailto, $ao_mailsubject, $ao_mailbody);
                if (!$ao_mailresult) {
                    error_log("Autoptimize could not send cache size warning mail.");
                }
            }
        }
    }
}
예제 #4
0
    public function show()
    {
        ?>
<style>input[type=url]:invalid {color: red; border-color:red;} .form-table th{font-weight:100;} #futtta_feed ul{list-style:outside;} #futtta_feed {font-size:medium; margin:0px 20px;}</style>

<div class="wrap">

<h1><?php 
        _e('Autoptimize Settings', 'autoptimize');
        ?>
</h1>

<div style="float:left;width:70%;">
<?php 
        if (get_option('autoptimize_show_adv', '0') == '1') {
            ?>
	<a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</a>
	<a href="javascript:void(0);" id="ao_hide_adv" class="button"><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</a>
	<style>.ao_adv {display:table-row};</style>
	<?php 
        } else {
            ?>
	<a href="javascript:void(0);" id="ao_show_adv" class="button"><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</a>
	<a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</a>
	<?php 
        }
        ?>

<form method="post" action="options.php">
<?php 
        settings_fields('autoptimize');
        ?>

<h2><?php 
        _e('HTML Options', 'autoptimize');
        ?>
</h2>
<table class="form-table">
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize HTML Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php 
        echo get_option('autoptimize_html') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="html_sub" valign="top">
<th scope="row"><?php 
        _e('Keep HTML comments?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_html_keepcomments"><input type="checkbox" name="autoptimize_html_keepcomments" <?php 
        echo get_option('autoptimize_html_keepcomments') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this if you want HTML comments to remain in the page, needed for e.g. AdSense to function properly.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h2><?php 
        _e('JavaScript Options', 'autoptimize');
        ?>
</h2>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize JavaScript Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php 
        echo get_option('autoptimize_js') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Force JavaScript in &lt;head&gt;?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_forcehead"><input type="checkbox" name="autoptimize_js_forcehead" <?php 
        echo get_option('autoptimize_js_forcehead', '1') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Load JavaScript early, reducing the chance of JS-errors but making it render blocking. You can disable this if you\'re not aggregating inline JS and you want JS to be deferred.', 'autoptimize');
        ?>
</label></td>
</tr>
<?php 
        if (get_option('autoptimize_js_justhead')) {
            ?>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
            _e('Look for scripts only in &lt;head&gt;?', 'autoptimize');
            _e(' <i>(deprecated)</i>', 'autoptimize');
            ?>
</th>
<td><label for="autoptimize_js_justhead"><input type="checkbox" name="autoptimize_js_justhead" <?php 
            echo get_option('autoptimize_js_justhead') ? 'checked="checked" ' : '';
            ?>
/>
<?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>
</tr>
<?php 
        }
        ?>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Also aggregate inline JS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_include_inline"><input type="checkbox" name="autoptimize_js_include_inline" <?php 
        echo get_option('autoptimize_js_include_inline') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Check this option for Autoptimize to also aggregate JS in the HTML. If this option is not enabled, you might have to "force JavaScript in head".', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Exclude scripts from Autoptimize:', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_exclude"><input type="text" style="width:100%;" name="autoptimize_js_exclude" value="<?php 
        echo get_option('autoptimize_js_exclude', "s_sid,smowtion_size,sc_project,WAU_,wau_add,comment-form-quicktags,edToolbar,ch_client,seal.js");
        ?>
"/><br />
<?php 
        _e('A comma-seperated 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>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Add try-catch wrapping?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_trycatch"><input type="checkbox" name="autoptimize_js_trycatch" <?php 
        echo get_option('autoptimize_js_trycatch') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('If your scripts break because of a JS-error, you might want to try this.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h2><?php 
        _e('CSS Options', 'autoptimize');
        ?>
</h2>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize CSS Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php 
        echo get_option('autoptimize_css') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="hidden css_sub ao_adv" valign="top">
<th scope="row"><?php 
        _e('Generate data: URIs for images?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_datauris"><input type="checkbox" name="autoptimize_css_datauris" <?php 
        echo get_option('autoptimize_css_datauris') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this to include small background-images in the CSS itself instead of as seperate downloads.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr class="hidden css_sub ao_adv" valign="top">
<th scope="row"><?php 
        _e('Remove Google Fonts?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_datauris"><input type="checkbox" name="autoptimize_css_nogooglefont" <?php 
        echo get_option('autoptimize_css_nogooglefont') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Check this if you don\'t need or want Google Fonts being loaded.', 'autoptimize');
        ?>
</label></td>
</tr>
<?php 
        if (get_option('autoptimize_css_justhead')) {
            ?>
<tr valign="top" class="hidden css_sub ao_adv">
<th scope="row"><?php 
            _e('Look for styles only in &lt;head&gt;?', 'autoptimize');
            _e(' <i>(deprecated)</i>', 'autoptimize');
            ?>
</th>
<td><label for="autoptimize_css_justhead"><input type="checkbox" name="autoptimize_css_justhead" <?php 
            echo get_option('autoptimize_css_justhead') ? 'checked="checked" ' : '';
            ?>
/>
<?php 
            _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.', 'autoptimize');
            ?>
</label></td>
</tr>
<?php 
        }
        ?>
<tr valign="top" class="hidden css_sub ao_adv">
<th scope="row"><?php 
        _e('Also aggregate inline CSS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_include_inline"><input type="checkbox" name="autoptimize_css_include_inline" <?php 
        echo get_option('autoptimize_css_include_inline') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Check this option for Autoptimize to also aggregate CSS in the HTML.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden css_sub ao_adv">
<th scope="row"><?php 
        _e('Inline and Defer CSS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_defer"><input type="checkbox" name="autoptimize_css_defer" id="autoptimize_css_defer" <?php 
        echo get_option('autoptimize_css_defer') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden css_sub ao_adv" id="autoptimize_css_defer_inline">
<th scope="row"></th>
<td><label for="autoptimize_css_defer_inline"><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>
</tr>
<tr valign="top" class="hidden ao_adv css_sub">
<th scope="row"><?php 
        _e('Inline all CSS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_inline"><input type="checkbox" id="autoptimize_css_inline" name="autoptimize_css_inline" <?php 
        echo get_option('autoptimize_css_inline') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden ao_adv css_sub">
<th scope="row"><?php 
        _e('Exclude CSS from Autoptimize:', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_exclude"><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 />
<?php 
        _e('A comma-seperated list of CSS you want to exclude from being optimized.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h2><?php 
        _e('CDN Options', 'autoptimize');
        ?>
</h2>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('CDN Base URL', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_url"><input id="cdn_url" type="url" name="autoptimize_cdn_url" pattern="^(https?:)?\/\/([\da-z\.-]+)\.([\da-z\.]{2,6})([\/\w \.-]*)*(:\d{2,5})?\/?$" style="width:100%" value="<?php 
        $it = get_option('autoptimize_cdn_url', '');
        echo htmlentities($it);
        ?>
" /><br />
<?php 
        _e('Enter your CDN blog root directory URL if you want to enable CDN for images referenced in the CSS.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h2 class="hidden ao_adv"><?php 
        _e('Cache Info', 'autoptimize');
        ?>
</h2>
<table class="form-table" > 
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Cache folder', 'autoptimize');
        ?>
</th>
<td><?php 
        echo htmlentities(AUTOPTIMIZE_CACHE_DIR);
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Can we write?', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::cacheavail() ? __('Yes', 'autoptimize') : __('No', 'autoptimize');
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Cached styles and scripts', 'autoptimize');
        ?>
</th>
<td><?php 
        $AOstatArr = autoptimizeCache::stats();
        $AOcacheSize = round($AOstatArr[1] / 1024);
        echo $AOstatArr[0] . " files, totalling " . $AOcacheSize . " Kbytes (calculated at " . date("H:i e", $AOstatArr[2]) . ")";
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Save aggregated script/css as static files?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_cache_nogzip"><input type="checkbox" name="autoptimize_cache_nogzip" <?php 
        echo get_option('autoptimize_cache_nogzip', '1') ? 'checked="checked" ' : '';
        ?>
/>
<?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></td>
</tr>
</table>
<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php 
        echo get_option('autoptimize_show_adv', '0');
        ?>
">

<p class="submit">
<input type="submit" class="button-secondary" value="<?php 
        _e('Save Changes', 'autoptimize');
        ?>
" />
<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php 
        _e('Save Changes and Empty Cache', 'autoptimize');
        ?>
" />
</p>

</form>
</div>
<style>.autoptimize_banner ul li {font-size:medium;text-align:center;} .unslider-arrow {left:unset;}</style>
<div class="autoptimize_banner">
	<ul>
	<?php 
        $AO_banner = get_transient("autoptimize_banner");
        if (empty($AO_banner)) {
            $banner_resp = wp_remote_get("http://optimizingmatters.com/autoptimize_news.html");
            if (!is_wp_error($banner_resp)) {
                if (wp_remote_retrieve_response_code($banner_resp) == "200") {
                    $AO_banner = wp_kses_post(wp_remote_retrieve_body($banner_resp));
                    set_transient("autoptimize_banner", $AO_banner, DAY_IN_SECONDS);
                }
            }
        }
        echo $AO_banner;
        ?>
	<li><?php 
        _e("Need help? <a href='https://wordpress.org/plugins/autoptimize/faq/'>Check out the FAQ</a> or post your question on <a href='http://wordpress.org/support/plugin/autoptimize'>the support-forum</a>.");
        ?>
</li>
	<li><?php 
        _e("Happy with Autoptimize?", "autoptimize");
        ?>
<br /><a href="<?php 
        echo network_admin_url();
        ?>
plugin-install.php?tab=search&type=author&s=futtta"><?php 
        _e("Try my other plugins!");
        ?>
</a></li>
	</ul>
</div>
<div style="float:right;width:30%" id="autoptimize_admin_feed">
        <div style="margin-left:10px;margin-top:-5px;">
                <h2>
                        <?php 
        _e("futtta about", "autoptimize");
        ?>
                        <select id="feed_dropdown" >
                                <option value="1"><?php 
        _e("Autoptimize", "autoptimize");
        ?>
</option>
                                <option value="2"><?php 
        _e("WordPress", "autoptimize");
        ?>
</option>
                                <option value="3"><?php 
        _e("Web Technology", "autoptimize");
        ?>
</option>
                        </select>
                </h2>
                <div id="futtta_feed">
       			<div id="autoptimizefeed">
				<?php 
        $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_autoptimize");
        ?>
			</div>
			<div id="wordpressfeed">
				<?php 
        $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_wordpress");
        ?>
			</div>
			<div id="webtechfeed">
				<?php 
        $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_webtech");
        ?>
			</div>
                </div>
        </div>
	<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 content_url();
        ?>
/plugins/autoptimize/classes/external/do_not_donate_smallest.png" title="<?php 
        _e("Do not donate for this plugin!");
        ?>
"></a></div>
</div>

<script type="text/javascript">
	var feed = new Array;
	feed[1]="autoptimizefeed";
	feed[2]="wordpressfeed";
	feed[3]="webtechfeed";
	cookiename="autoptimize_feed";

	jQuery(document).ready(function() {
		check_ini_state();
		
		jQuery('.autoptimize_banner').unslider({autoplay:true, delay:5000});
		
		jQuery( "#ao_show_adv" ).click(function() {
			jQuery( "#ao_show_adv" ).hide();
			jQuery( "#ao_hide_adv" ).show();
			jQuery( ".ao_adv" ).show("slow");
			if (jQuery("#autoptimize_css").attr('checked')) {
				jQuery(".css_sub:visible").fadeTo("fast",1);
				if (!jQuery("#autoptimize_css_defer").attr('checked')) {
					jQuery("#autoptimize_css_defer_inline").hide();
				}
			}
			if (jQuery("#autoptimize_js").attr('checked')) {
				jQuery(".js_sub:visible").fadeTo("fast",1);
			}
			check_ini_state()
			jQuery( "input#autoptimize_show_adv" ).val("1");
		});

		jQuery( "#ao_hide_adv" ).click(function() {
			jQuery( "#ao_hide_adv" ).hide();
			jQuery( "#ao_show_adv" ).show();
			jQuery( ".ao_adv" ).hide("slow");
                        if (!jQuery("#autoptimize_css").attr('checked')) {
                                jQuery(".css_sub:visible").fadeTo("fast",.33);
                        }
                        if (!jQuery("#autoptimize_js").attr('checked')) {
                                jQuery(".js_sub:visible").fadeTo("fast",.33);
                        }
                        check_ini_state()
			jQuery( "input#autoptimize_show_adv" ).val("0");
		});

		jQuery( "#autoptimize_html" ).change(function() {
			if (this.checked) {
				jQuery(".html_sub:visible").fadeTo("fast",1);
			} else {
				jQuery(".html_sub:visible").fadeTo("fast",.33);
			}
		});

                jQuery( "#autoptimize_js" ).change(function() {
                        if (this.checked) {
                                jQuery(".js_sub:visible").fadeTo("fast",1);
                        } else {
                                jQuery(".js_sub:visible").fadeTo("fast",.33);
                        }
                });

                jQuery( "#autoptimize_css" ).change(function() {
                        if (this.checked) {
                                jQuery(".css_sub:visible").fadeTo("fast",1);
                        } else {
                                jQuery(".css_sub:visible").fadeTo("fast",.33);
                        }
                });
		
		jQuery( "#autoptimize_css_inline" ).change(function() {
			if (this.checked) {
				jQuery("#autoptimize_css_defer").prop("checked",false);
				jQuery("#autoptimize_css_defer_inline").hide("slow");
			}
		});
		
		jQuery( "#autoptimize_css_defer" ).change(function() {
			if (this.checked) {
				jQuery("#autoptimize_css_inline").prop("checked",false);
				jQuery("#autoptimize_css_defer_inline").show("slow");
			} else {
				jQuery("#autoptimize_css_defer_inline").hide("slow");
			}
		});
		
		jQuery("#feed_dropdown").change(function() { show_feed(jQuery("#feed_dropdown").val()) });
		feedid=jQuery.cookie(cookiename);
		if(typeof(feedid) !== "string") feedid=1;
		show_feed(feedid);
	})

	function check_ini_state() {
		if (!jQuery("#autoptimize_css_defer").attr('checked')) {
			jQuery("#autoptimize_css_defer_inline").hide();
		}
		if (!jQuery("#autoptimize_html").attr('checked')) {
			jQuery(".html_sub:visible").fadeTo('fast',.33);
		}
                if (!jQuery("#autoptimize_css").attr('checked')) {
                        jQuery(".css_sub:visible").fadeTo('fast',.33);
                }
                if (!jQuery("#autoptimize_js").attr('checked')) {
                        jQuery(".js_sub:visible").fadeTo('fast',.33);
                }
	}

	function show_feed(id) {
		jQuery('#futtta_feed').children().hide();
		jQuery('#'+feed[id]).show();
		jQuery("#feed_dropdown").val(id);
		jQuery.cookie(cookiename,id,{ expires: 365 });
	}
</script>
</div>

<?php 
    }
    public function show()
    {
        ?>
<style>input[type=url]:invalid {color: red; border-color:red;} .form-table th{font-weight:100;}</style>

<div class="wrap">

<h2><?php 
        _e('Autoptimize Settings', 'autoptimize');
        ?>
</h2>

<div style="float:left;width:70%;">
<?php 
        if (get_option('autoptimize_show_adv', '0') == '1') {
            ?>
	<a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</a>
	<a href="javascript:void(0);" id="ao_hide_adv" class="button"><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</a>
	<style>.ao_adv {display:table-row};</style>
	<?php 
        } else {
            ?>
	<a href="javascript:void(0);" id="ao_show_adv" class="button"><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</a>
	<a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</a>
	<?php 
        }
        ?>

<form method="post" action="options.php">
<?php 
        settings_fields('autoptimize');
        ?>

<h3><?php 
        _e('HTML Options', 'autoptimize');
        ?>
</h3>
<table class="form-table">
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize HTML Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php 
        echo get_option('autoptimize_html') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="html_sub" valign="top">
<th scope="row"><?php 
        _e('Keep HTML comments?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_html_keepcomments"><input type="checkbox" name="autoptimize_html_keepcomments" <?php 
        echo get_option('autoptimize_html_keepcomments') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this if you want HTML comments to remain in the page, needed for e.g. AdSense to function properly.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('JavaScript Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize JavaScript Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php 
        echo get_option('autoptimize_js') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Force JavaScript in &lt;head&gt;?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_forcehead"><input type="checkbox" name="autoptimize_js_forcehead" <?php 
        echo get_option('autoptimize_js_forcehead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('For performance reasons it is better to include JavaScript at the bottom of HTML, but this sometimes breaks things. Especially useful for jQuery-based themes.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Look for scripts only in &lt;head&gt;?', 'autoptimize');
        _e(' <i>(deprecated)</i>', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_justhead"><input type="checkbox" name="autoptimize_js_justhead" <?php 
        echo get_option('autoptimize_js_justhead') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Exclude scripts from Autoptimize:', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_exclude"><input type="text" style="width:100%;" name="autoptimize_js_exclude" value="<?php 
        echo get_option('autoptimize_js_exclude', "s_sid,smowtion_size,sc_project,WAU_,wau_add,comment-form-quicktags,edToolbar,ch_client,seal.js");
        ?>
"/><br />
<?php 
        _e('A comma-seperated 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>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Add try-catch wrapping?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_trycatch"><input type="checkbox" name="autoptimize_js_trycatch" <?php 
        echo get_option('autoptimize_js_trycatch') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('If your scripts break because of an script error, you might want to try this.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('CSS Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize CSS Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php 
        echo get_option('autoptimize_css') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="css_sub" valign="top">
<th scope="row"><?php 
        _e('Generate data: URIs for images?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_datauris"><input type="checkbox" name="autoptimize_css_datauris" <?php 
        echo get_option('autoptimize_css_datauris') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this to include small background-images in the CSS itself instead of as seperate downloads.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden css_sub ao_adv">
<th scope="row"><?php 
        _e('Look for styles only in &lt;head&gt;?', 'autoptimize');
        _e(' <i>(deprecated)</i>', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_justhead"><input type="checkbox" name="autoptimize_css_justhead" <?php 
        echo get_option('autoptimize_css_justhead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden css_sub ao_adv">
<th scope="row"><?php 
        _e('Inline and Defer CSS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_defer"><input type="checkbox" name="autoptimize_css_defer" id="autoptimize_css_defer" <?php 
        echo get_option('autoptimize_css_defer') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden css_sub ao_adv" id="autoptimize_css_defer_inline">
<th scope="row"></th>
<td><label for="autoptimize_css_defer_inline"><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>
</tr>
<tr valign="top" class="hidden ao_adv css_sub">
<th scope="row"><?php 
        _e('Inline all CSS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_inline"><input type="checkbox" id="autoptimize_css_inline" name="autoptimize_css_inline" <?php 
        echo get_option('autoptimize_css_inline') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden ao_adv css_sub">
<th scope="row"><?php 
        _e('Exclude CSS from Autoptimize:', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_exclude"><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 />
<?php 
        _e('A comma-seperated list of CSS you want to exclude from being optimized.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('CDN Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('CDN Base URL', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_url"><input id="cdn_url" type="url" name="autoptimize_cdn_url" pattern="^(https?:)?\/\/([\da-z\.-]+)\.([\da-z\.]{2,6})([\/\w \.-]*)*\/?$" style="width:100%" value="<?php 
        $it = get_option('autoptimize_cdn_url', '');
        echo htmlentities($it);
        ?>
" /><br />
<?php 
        _e('Enter your CDN blog root directory URL if you want to enable CDN for images referenced in the CSS.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3 class="hidden ao_adv"><?php 
        _e('Cache Info', 'autoptimize');
        ?>
</h3>
<table class="form-table" > 
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Cache folder', 'autoptimize');
        ?>
</th>
<td><?php 
        echo htmlentities(AUTOPTIMIZE_CACHE_DIR);
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Can we write?', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::cacheavail() ? __('Yes', 'autoptimize') : __('No', 'autoptimize');
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Cached styles and scripts', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::stats();
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Save aggregated script/css as static files?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_cache_nogzip"><input type="checkbox" name="autoptimize_cache_nogzip" <?php 
        echo get_option('autoptimize_cache_nogzip', '1') ? 'checked="checked" ' : '';
        ?>
/>
<?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></td>
</tr>
</table>
<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php 
        echo get_option('autoptimize_show_adv', '0');
        ?>
">

<p class="submit">
<input type="submit" class="button-secondary" value="<?php 
        _e('Save Changes', 'autoptimize');
        ?>
" />
<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php 
        _e('Save Changes and Empty Cache', 'autoptimize');
        ?>
" />
</p>

</form>
</div>
<div style="float:right;width:30%" id="autoptimize_admin_feed">
	<div style="margin:0px 15px 15px 15px;font-size:larger;"><a href="<?php 
        echo network_admin_url();
        ?>
plugin-install.php?tab=search&type=author&s=futtta"><?php 
        _e("Happy with Autoptimize? Try my other plugins!");
        ?>
</a></div>
        <div style="margin-left:10px;margin-top:-5px;">
                <h3>
                        <?php 
        _e("futtta about", "autoptimize");
        ?>
                        <select id="feed_dropdown" >
                                <option value="1"><?php 
        _e("Autoptimize", "autoptimize");
        ?>
</option>
                                <option value="2"><?php 
        _e("WordPress", "autoptimize");
        ?>
</option>
                                <option value="3"><?php 
        _e("Web Technology", "autoptimize");
        ?>
</option>
                        </select>
                </h3>
                <div id="futtta_feed"></div>
        </div>
	<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 content_url();
        ?>
/plugins/autoptimize/classes/external/do_not_donate_smallest.png" title="<?php 
        _e("Do not donate for this plugin!");
        ?>
"></a></div>
</div>

<script type="text/javascript">
	var feed = new Array;
	feed[1]="http://feeds.feedburner.com/futtta_autoptimize";
	feed[2]="http://feeds.feedburner.com/futtta_wordpress";
	feed[3]="http://feeds.feedburner.com/futtta_webtech";
	cookiename="autoptimize_feed";

	jQuery(document).ready(function() {
		check_ini_state();
		jQuery( "#ao_show_adv" ).click(function() {
			jQuery( "#ao_show_adv" ).hide();
			jQuery( "#ao_hide_adv" ).show();
			jQuery( ".ao_adv" ).show("slow");
			if (jQuery("#autoptimize_css").attr('checked')) {
				jQuery(".css_sub:visible").fadeTo("fast",1);
				if (!jQuery("#autoptimize_css_defer").attr('checked')) {
					jQuery("#autoptimize_css_defer_inline").hide();
				}
			}
			if (jQuery("#autoptimize_js").attr('checked')) {
				jQuery(".js_sub:visible").fadeTo("fast",1);
			}
			check_ini_state()
			jQuery( "input#autoptimize_show_adv" ).val("1");
		});

		jQuery( "#ao_hide_adv" ).click(function() {
			jQuery( "#ao_hide_adv" ).hide();
			jQuery( "#ao_show_adv" ).show();
			jQuery( ".ao_adv" ).hide("slow");
                        if (!jQuery("#autoptimize_css").attr('checked')) {
                                jQuery(".css_sub:visible").fadeTo("fast",.33);
                        }
                        if (!jQuery("#autoptimize_js").attr('checked')) {
                                jQuery(".js_sub:visible").fadeTo("fast",.33);
                        }
                        check_ini_state()
			jQuery( "input#autoptimize_show_adv" ).val("0");
		});

		jQuery( "#autoptimize_html" ).change(function() {
			if (this.checked) {
				jQuery(".html_sub:visible").fadeTo("fast",1);
			} else {
				jQuery(".html_sub:visible").fadeTo("fast",.33);
			}
		});

                jQuery( "#autoptimize_js" ).change(function() {
                        if (this.checked) {
                                jQuery(".js_sub:visible").fadeTo("fast",1);
                        } else {
                                jQuery(".js_sub:visible").fadeTo("fast",.33);
                        }
                });

                jQuery( "#autoptimize_css" ).change(function() {
                        if (this.checked) {
                                jQuery(".css_sub:visible").fadeTo("fast",1);
                        } else {
                                jQuery(".css_sub:visible").fadeTo("fast",.33);
                        }
                });
		
		jQuery( "#autoptimize_css_inline" ).change(function() {
			if (this.checked) {
				jQuery("#autoptimize_css_defer").prop("checked",false);
				jQuery("#autoptimize_css_defer_inline").hide("slow");
			}
		});
		
		jQuery( "#autoptimize_css_defer" ).change(function() {
			if (this.checked) {
				jQuery("#autoptimize_css_inline").prop("checked",false);
				jQuery("#autoptimize_css_defer_inline").show("slow");
			} else {
				jQuery("#autoptimize_css_defer_inline").hide("slow");
			}
		});
		
		jQuery("#feed_dropdown").change(function() { show_feed(jQuery("#feed_dropdown").val()) });
		feedid=jQuery.cookie(cookiename);
		if(typeof(feedid) !== "string") feedid=1;
		show_feed(feedid);
	})

	function check_ini_state() {
		if (!jQuery("#autoptimize_css_defer").attr('checked')) {
			jQuery("#autoptimize_css_defer_inline").hide();
		}
		if (!jQuery("#autoptimize_html").attr('checked')) {
			jQuery(".html_sub:visible").fadeTo('fast',.33);
		}
                if (!jQuery("#autoptimize_css").attr('checked')) {
                        jQuery(".css_sub:visible").fadeTo('fast',.33);
                }
                if (!jQuery("#autoptimize_js").attr('checked')) {
                        jQuery(".js_sub:visible").fadeTo('fast',.33);
                }
	}

	function show_feed(id) {
  		jQuery('#futtta_feed').rssfeed(feed[id], {
			<?php 
        if (is_ssl()) {
            echo "ssl: true,";
        }
        ?>
    			limit: 4,
			date: true,
			header: false
  		});
		jQuery("#feed_dropdown").val(id);
		jQuery.cookie(cookiename,id,{ expires: 365 });
	}
</script>
</div>

<?php 
    }
예제 #6
0
    public function show()
    {
        ?>
<style>
/* title and button */
#ao_title_and_button:after {content:''; display:block; clear:both;}
#ao_adv_button{float:right;}
#ao_hide_adv:before, #ao_show_adv:before {
    display: inline-block;
    float: left;
    height: 20px;
    width: 35px;
    background: none;
    color: #b4b9be;
    font: normal 20px/26px dashicons;
    letter-spacing: -4px;
    text-align: left;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
#ao_hide_adv:before {
    content: "\f108 \f142";
}
#ao_show_adv:before {
    content: "\f108 \f140";
}

/* form */
.itemDetail {
    background: #fff;
    border: 1px solid #ccc;
    padding: 15px;
    margin: 15px 10px 10px 0;
}
.itemTitle {
    margin-top: 0;
}
input[type=url]:invalid {color: red; border-color:red;} .form-table th{font-weight:100;}
#autoptimize_main .cb_label {display: block; padding-left: 25px; text-indent: -25px;}

/* rss block */
#futtta_feed ul{list-style:outside;}
#futtta_feed {font-size:medium; margin:0px 20px;} 

/* banner + unslider */
.autoptimize_banner {
    margin: 0 38px;
    padding-bottom: 5px;
}
.autoptimize_banner ul li {
    font-size:medium;
    text-align:center;
}
.unslider {
    position:relative;
}
.unslider-arrow {
    display: block;
    left: unset;
    margin-top: -35px;
    margin-left: 7px;
    margin-right: 7px;
    border-radius: 32px;
    background: rgba(0, 0, 0, 0.10) no-repeat 50% 50%;
    color: rgba(255, 255, 255, 0.8);
    font: normal 20px/1 dashicons;
    speak: none;
    padding: 3px 2px 3px 4px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.unslider-arrow:hover {
    background-color: rgba(0, 0, 0, 0.20);
    color: #FFF;
}
.unslider-arrow.prev {
    padding: 3px 4px 3px 2px;
}
.unslider-arrow.next {
    right: 0px;
}
.unslider-arrow.prev::before {
    content: "\f341";
}
.unslider-arrow.next::before {
    content: "\f345";
}
/* responsive stuff: hide admin-feed on smaller screens */
@media (min-width: 961px) {
    #autoptimize_main {float:left;width:69%;}
    #autoptimize_admin_feed{float:right;width:30%;display:block !important;}
    }
@media (max-width: 960px) {
    #autoptimize_main {width:100%;}
    #autoptimize_admin_feed {width:0%;display:none !important;}
}
@media (max-width: 782px) {
    #ao_hide_adv span, #ao_show_adv span {display: none;}
    #ao_hide_adv,#ao_show_adv {height: 34px;padding: 4px 12px 8px 8px;}
    #ao_hide_adv:before,#ao_show_adv:before {font-size: 25px;}
    #autoptimize_main input[type="checkbox"] {margin-left: 10px;}
    #autoptimize_main .cb_label {display: block; padding-left: 45px; text-indent: -45px;}
}
</style>

<div class="wrap">

<?php 
        if (version_compare(PHP_VERSION, '5.3.0') < 0) {
            ?>
<div class="notice-error notice"><?php 
            _e('<p><strong>You are using a very old version of PHP</strong> (5.2.x or older) which has <a href="http://blog.futtta.be/2016/03/15/why-would-you-still-be-on-php-5-2/" target="_blank">serious security and performance issues</a>. Please ask your hoster to provide you with an upgrade path to 5.6 or 7.0</p>', 'autoptimize');
            ?>
</div>
<?php 
        }
        ?>

<div id="autoptimize_main">
<div id="ao_title_and_button">
    <h1 id="ao_title"><?php 
        _e('Autoptimize Settings', 'autoptimize');
        ?>
    <span id="ao_adv_button">
    <?php 
        if (get_option('autoptimize_show_adv', '0') == '1') {
            ?>
        <a href="javascript:void(0);" id="ao_show_adv" class="button" style="display:none;"><span><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</span></a>
        <a href="javascript:void(0);" id="ao_hide_adv" class="button"><span><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</span></a>
        <style>tr.ao_adv{display:table-row;} li.ao_adv{display:list-item;}</style>
        <?php 
            $hiddenClass = "";
        } else {
            ?>
        <a href="javascript:void(0);" id="ao_show_adv" class="button"><span><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</span></a>
        <a href="javascript:void(0);" id="ao_hide_adv" class="button" style="display:none;"><span><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</span></a>
        <?php 
            $hiddenClass = "hidden ";
        }
        ?>
    </span>
    </h1>
</div>

<?php 
        echo $this->ao_admin_tabs();
        ?>

<form method="post" action="options.php">
<?php 
        settings_fields('autoptimize');
        ?>

<ul>

<li class="itemDetail">
<h2 class="itemTitle"><?php 
        _e('HTML Options', 'autoptimize');
        ?>
</h2>
<table class="form-table">
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize HTML Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php 
        echo get_option('autoptimize_html') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="<?php 
        echo $hiddenClass;
        ?>
html_sub ao_adv" valign="top">
<th scope="row"><?php 
        _e('Keep HTML comments?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_html_keepcomments" <?php 
        echo get_option('autoptimize_html_keepcomments') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this if you want HTML comments to remain in the page.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>
</li>

<li class="itemDetail">
<h2 class="itemTitle"><?php 
        _e('JavaScript Options', 'autoptimize');
        ?>
</h2>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize JavaScript Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php 
        echo get_option('autoptimize_js') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
js_sub ao_adv">
<th scope="row"><?php 
        _e('Force JavaScript in &lt;head&gt;?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_forcehead" <?php 
        echo get_option('autoptimize_js_forcehead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Load JavaScript early, reducing the chance of JS-errors but making it render blocking. You can disable this if you\'re not aggregating inline JS and you want JS to be deferred.', 'autoptimize');
        ?>
</label></td>
</tr>
<?php 
        if (get_option('autoptimize_js_justhead')) {
            ?>
<tr valign="top" class="<?php 
            echo $hiddenClass;
            ?>
js_sub ao_adv">
<th scope="row"><?php 
            _e('Look for scripts only in &lt;head&gt;?', 'autoptimize');
            _e(' <i>(deprecated)</i>', 'autoptimize');
            ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_justhead" <?php 
            echo get_option('autoptimize_js_justhead') ? 'checked="checked" ' : '';
            ?>
/>
<?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>
</tr>
<?php 
        }
        ?>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
js_sub ao_adv">
<th scope="row"><?php 
        _e('Also aggregate inline JS?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_include_inline" <?php 
        echo get_option('autoptimize_js_include_inline') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Check this option for Autoptimize to also aggregate JS in the HTML. If this option is not enabled, you might have to "force JavaScript in head".', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
js_sub ao_adv">
<th scope="row"><?php 
        _e('Exclude scripts from Autoptimize:', 'autoptimize');
        ?>
</th>
<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 />
<?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>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
js_sub ao_adv">
<th scope="row"><?php 
        _e('Add try-catch wrapping?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_js_trycatch" <?php 
        echo get_option('autoptimize_js_trycatch') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('If your scripts break because of a JS-error, you might want to try this.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>
</li>

<li class="itemDetail">
<h2 class="itemTitle"><?php 
        _e('CSS Options', 'autoptimize');
        ?>
</h2>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize CSS Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php 
        echo get_option('autoptimize_css') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="<?php 
        echo $hiddenClass;
        ?>
css_sub ao_adv" valign="top">
<th scope="row"><?php 
        _e('Generate data: URIs for images?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_datauris" <?php 
        echo get_option('autoptimize_css_datauris') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this to include small background-images in the CSS itself instead of as separate downloads.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr class="<?php 
        echo $hiddenClass;
        ?>
css_sub ao_adv" valign="top">
<th scope="row"><?php 
        _e('Remove Google Fonts?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_nogooglefont" <?php 
        echo get_option('autoptimize_css_nogooglefont') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Check this if you don\'t need or want Google Fonts being loaded.', 'autoptimize');
        ?>
</label></td>
</tr>
<?php 
        if (get_option('autoptimize_css_justhead')) {
            ?>
<tr valign="top" class="<?php 
            echo $hiddenClass;
            ?>
css_sub ao_adv">
<th scope="row"><?php 
            _e('Look for styles only in &lt;head&gt;?', 'autoptimize');
            _e(' <i>(deprecated)</i>', 'autoptimize');
            ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_justhead" <?php 
            echo get_option('autoptimize_css_justhead') ? 'checked="checked" ' : '';
            ?>
/>
<?php 
            _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.', 'autoptimize');
            ?>
</label></td>
</tr>
<?php 
        }
        ?>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
css_sub ao_adv">
<th scope="row"><?php 
        _e('Also aggregate inline CSS?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_css_include_inline" <?php 
        echo get_option('autoptimize_css_include_inline', '1') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Check this option for Autoptimize to also aggregate CSS in the HTML.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
css_sub ao_adv">
<th scope="row"><?php 
        _e('Inline and Defer CSS?', 'autoptimize');
        ?>
</th>
<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" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
css_sub ao_adv" id="autoptimize_css_defer_inline">
<th scope="row"></th>
<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>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
ao_adv css_sub">
<th scope="row"><?php 
        _e('Inline all CSS?', 'autoptimize');
        ?>
</th>
<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" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
ao_adv css_sub">
<th scope="row"><?php 
        _e('Exclude CSS from Autoptimize:', 'autoptimize');
        ?>
</th>
<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 />
<?php 
        _e('A comma-separated list of CSS you want to exclude from being optimized.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>
</li>

<li class="itemDetail">
<h2 class="itemTitle"><?php 
        _e('CDN Options', 'autoptimize');
        ?>
</h2>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('CDN Base URL', 'autoptimize');
        ?>
</th>
<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 />
<?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>).', 'autoptimize');
        ?>
</label></td>
</tr>
</table>
</li>

<li class="<?php 
        echo $hiddenClass;
        ?>
itemDetail ao_adv">
<h2 class="itemTitle"><?php 
        _e('Cache Info', 'autoptimize');
        ?>
</h2>
<table class="form-table" > 
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
ao_adv">
<th scope="row"><?php 
        _e('Cache folder', 'autoptimize');
        ?>
</th>
<td><?php 
        echo htmlentities(AUTOPTIMIZE_CACHE_DIR);
        ?>
</td>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
ao_adv">
<th scope="row"><?php 
        _e('Can we write?', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::cacheavail() ? __('Yes', 'autoptimize') : __('No', 'autoptimize');
        ?>
</td>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
ao_adv">
<th scope="row"><?php 
        _e('Cached styles and scripts', 'autoptimize');
        ?>
</th>
<td><?php 
        $AOstatArr = autoptimizeCache::stats();
        $AOcacheSize = round($AOstatArr[1] / 1024);
        echo $AOstatArr[0] . __(' files, totalling ', 'autoptimize') . $AOcacheSize . __(' Kbytes (calculated at ', 'autoptimize') . date("H:i e", $AOstatArr[2]) . ')';
        ?>
</td>
</tr>
<tr valign="top" class="<?php 
        echo $hiddenClass;
        ?>
ao_adv">
<th scope="row"><?php 
        _e('Save aggregated script/css as static files?', 'autoptimize');
        ?>
</th>
<td><label class="cb_label"><input type="checkbox" name="autoptimize_cache_nogzip" <?php 
        echo get_option('autoptimize_cache_nogzip', '1') ? 'checked="checked" ' : '';
        ?>
/>
<?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></td>
</tr>
</table>
</li>

</ul>

<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php 
        echo get_option('autoptimize_show_adv', '0');
        ?>
">

<p class="submit">
<input type="submit" class="button-secondary" value="<?php 
        _e('Save Changes', 'autoptimize');
        ?>
" />
<input type="submit" class="button-primary" name="autoptimize_cache_clean" value="<?php 
        _e('Save Changes and Empty Cache', 'autoptimize');
        ?>
" />
</p>

</form>
</div>
<div id="autoptimize_admin_feed" class="hidden">
    <div class="autoptimize_banner hidden">
        <ul>
        <?php 
        if (apply_filters('autoptimize_settingsscreen_remotehttp', true)) {
            $AO_banner = get_transient("autoptimize_banner");
            if (empty($AO_banner)) {
                $banner_resp = wp_remote_get("http://misc.optimizingmatters.com/autoptimize_news.html");
                if (!is_wp_error($banner_resp)) {
                    if (wp_remote_retrieve_response_code($banner_resp) == "200") {
                        $AO_banner = wp_kses_post(wp_remote_retrieve_body($banner_resp));
                        set_transient("autoptimize_banner", $AO_banner, DAY_IN_SECONDS);
                    }
                }
            }
            echo $AO_banner;
        }
        ?>
        <li><?php 
        _e("Need help? <a href='https://wordpress.org/plugins/autoptimize/faq/'>Check out the FAQ</a> or post your question on <a href='http://wordpress.org/support/plugin/autoptimize'>the support-forum</a>.", "autoptimize");
        ?>
</li>
        <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>
        </ul>
    </div>
    <div style="margin-left:10px;margin-top:-5px;">
        <h2>
            <?php 
        _e("futtta about", "autoptimize");
        ?>
            <select id="feed_dropdown" >
                <option value="1"><?php 
        _e("Autoptimize", "autoptimize");
        ?>
</option>
                <option value="2"><?php 
        _e("WordPress", "autoptimize");
        ?>
</option>
                <option value="3"><?php 
        _e("Web Technology", "autoptimize");
        ?>
</option>
            </select>
        </h2>
        <div id="futtta_feed">
            <div id="autoptimizefeed">
                <?php 
        $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_autoptimize");
        ?>
            </div>
            <div id="wordpressfeed">
                <?php 
        $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_wordpress");
        ?>
            </div>
            <div id="webtechfeed">
                <?php 
        $this->getFutttaFeeds("http://feeds.feedburner.com/futtta_webtech");
        ?>
            </div>
        </div>
    </div>
    <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!");
        ?>
"></a></div>
</div>

<script type="text/javascript">
    var feed = new Array;
    feed[1]="autoptimizefeed";
    feed[2]="wordpressfeed";
    feed[3]="webtechfeed";
    cookiename="autoptimize_feed";

    jQuery(document).ready(function() {
        check_ini_state();
        jQuery('#autoptimize_admin_feed').fadeTo("slow",1).show();        
        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();

        jQuery( "#feed_dropdown" ).change(function() {
            jQuery("#futtta_feed").fadeTo(0,0);
            jQuery("#futtta_feed").fadeTo("slow",1);
        });

        jQuery( "#ao_show_adv" ).click(function() {
            jQuery( "#ao_show_adv" ).hide();
            jQuery( "#ao_hide_adv" ).show();
            jQuery( ".ao_adv" ).removeClass("hidden");
            jQuery( ".ao_adv" ).show("slow");
            if (jQuery("#autoptimize_css").attr('checked')) {
                jQuery(".css_sub:visible").fadeTo("fast",1);
                if (!jQuery("#autoptimize_css_defer").attr('checked')) {
                    jQuery("#autoptimize_css_defer_inline").hide();
                }
            }
            if (jQuery("#autoptimize_js").attr('checked')) {
                jQuery(".js_sub:visible").fadeTo("fast",1);
            }
            check_ini_state()
            jQuery( "input#autoptimize_show_adv" ).val("1");
        });

        jQuery( "#ao_hide_adv" ).click(function() {
            jQuery( "#ao_hide_adv" ).hide();
            jQuery( "#ao_show_adv" ).show();
            jQuery( ".ao_adv" ).hide("slow");
            jQuery( ".ao_adv" ).addClass("hidden");
            if (!jQuery("#autoptimize_css").attr('checked')) {
                jQuery(".css_sub:visible").fadeTo("fast",.33);
            }
            if (!jQuery("#autoptimize_js").attr('checked')) {
                jQuery(".js_sub:visible").fadeTo("fast",.33);
            }
            check_ini_state()
            jQuery( "input#autoptimize_show_adv" ).val("0");
        });

        jQuery( "#autoptimize_html" ).change(function() {
            if (this.checked) {
                jQuery(".html_sub:visible").fadeTo("fast",1);
            } else {
                jQuery(".html_sub:visible").fadeTo("fast",.33);
            }
        });

        jQuery( "#autoptimize_js" ).change(function() {
            if (this.checked) {
                jQuery(".js_sub:visible").fadeTo("fast",1);
            } else {
                jQuery(".js_sub:visible").fadeTo("fast",.33);
            }
        });

        jQuery( "#autoptimize_css" ).change(function() {
            if (this.checked) {
                jQuery(".css_sub:visible").fadeTo("fast",1);
            } else {
                jQuery(".css_sub:visible").fadeTo("fast",.33);
            }
        });

        jQuery( "#autoptimize_css_inline" ).change(function() {
            if (this.checked) {
                jQuery("#autoptimize_css_defer").prop("checked",false);
                jQuery("#autoptimize_css_defer_inline").hide("slow");
            }
        });

        jQuery( "#autoptimize_css_defer" ).change(function() {
            if (this.checked) {
                jQuery("#autoptimize_css_inline").prop("checked",false);
                jQuery("#autoptimize_css_defer_inline").show("slow");
            } else {
                jQuery("#autoptimize_css_defer_inline").hide("slow");
            }
        });

        jQuery("#feed_dropdown").change(function() { show_feed(jQuery("#feed_dropdown").val()) });
        feedid=jQuery.cookie(cookiename);
        if(typeof(feedid) !== "string") feedid=1;
        show_feed(feedid);
    })

    // validate cdn_url
    var cdn_url=document.getElementById("cdn_url");
    cdn_url_baseCSS=cdn_url.style.cssText;
    if ("validity" in cdn_url) {
        jQuery("#cdn_url").focusout(function (event) {
        if (cdn_url.validity.valid) {
            cdn_url.style.cssText=cdn_url_baseCSS;
        } else {
            cdn_url.style.cssText=cdn_url_baseCSS+"border:1px solid #f00;color:#f00;box-shadow: 0 0 2px #f00;";
        }});
    }

    function check_ini_state() {
        if (!jQuery("#autoptimize_css_defer").attr('checked')) {
            jQuery("#autoptimize_css_defer_inline").hide();
        }
        if (!jQuery("#autoptimize_html").attr('checked')) {
            jQuery(".html_sub:visible").fadeTo('fast',.33);
        }
        if (!jQuery("#autoptimize_css").attr('checked')) {
            jQuery(".css_sub:visible").fadeTo('fast',.33);
        }
        if (!jQuery("#autoptimize_js").attr('checked')) {
            jQuery(".js_sub:visible").fadeTo('fast',.33);
        }
    }

    function show_feed(id) {
        jQuery('#futtta_feed').children().hide();
        jQuery('#'+feed[id]).show();
        jQuery("#feed_dropdown").val(id);
        jQuery.cookie(cookiename,id,{ expires: 365 });
    }
</script>
</div>

<?php 
    }
예제 #7
0
    public function show()
    {
        ?>
<style>input[type=url]:invalid {color: red; border-color:red;} .form-table th{font-weight:100;}</style>

<div class="wrap">      


<form method="post" action="options.php" data-frm="optimize">
<?php 
        settings_fields('autoptimize');
        ?>

<h3><?php 
        _e('HTML Options', 'autoptimize');
        ?>
</h3>
<table class="form-table">
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize HTML Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_html" name="autoptimize_html" <?php 
        echo get_option('autoptimize_html') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="html_sub" valign="top">
<th scope="row"><?php 
        _e('Keep HTML comments?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_html_keepcomments"><input type="checkbox" name="autoptimize_html_keepcomments" <?php 
        echo get_option('autoptimize_html_keepcomments') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this if you want HTML comments to remain in the page, needed for e.g. AdSense to function properly.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('JavaScript Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize JavaScript Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_js" name="autoptimize_js" <?php 
        echo get_option('autoptimize_js') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Force JavaScript in &lt;head&gt;?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_forcehead"><input type="checkbox" name="autoptimize_js_forcehead" <?php 
        echo get_option('autoptimize_js_forcehead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('For performance reasons it is better to include JavaScript at the bottom of HTML, but this sometimes breaks things. Especially useful for jQuery-based themes.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Look for scripts only in &lt;head&gt;?', 'autoptimize');
        _e(' <i>(deprecated)</i>', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_justhead"><input type="checkbox" name="autoptimize_js_justhead" <?php 
        echo get_option('autoptimize_js_justhead') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Exclude scripts from Autoptimize:', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_exclude"><input type="text" style="width:100%;" name="autoptimize_js_exclude" value="<?php 
        echo get_option('autoptimize_js_exclude', "s_sid,smowtion_size,sc_project,WAU_,wau_add,comment-form-quicktags,edToolbar,ch_client,seal.js");
        ?>
"/><br />
<?php 
        _e('A comma-seperated 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>
</tr>
<tr valign="top" class="hidden js_sub ao_adv">
<th scope="row"><?php 
        _e('Add try-catch wrapping?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_trycatch"><input type="checkbox" name="autoptimize_js_trycatch" <?php 
        echo get_option('autoptimize_js_trycatch') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('If your scripts break because of an script error, you might want to try this.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('CSS Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize CSS Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" id="autoptimize_css" name="autoptimize_css" <?php 
        echo get_option('autoptimize_css') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr class="css_sub" valign="top">
<th scope="row"><?php 
        _e('Generate data: URIs for images?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_datauris"><input type="checkbox" name="autoptimize_css_datauris" <?php 
        echo get_option('autoptimize_css_datauris') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Enable this to include small background-images in the CSS itself instead of as seperate downloads.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden css_sub ao_adv">
<th scope="row"><?php 
        _e('Look for styles only in &lt;head&gt;?', 'autoptimize');
        _e(' <i>(deprecated)</i>', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_justhead"><input type="checkbox" name="autoptimize_css_justhead" <?php 
        echo get_option('autoptimize_css_justhead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Don\'t autoptimize CSS outside the head-section. If the cache gets big, you might want to enable this.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top" class="hidden css_sub ao_adv">
<th scope="row"><?php 
        _e('Inline and Defer CSS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_defer"><input type="checkbox" name="autoptimize_css_defer" id="autoptimize_css_defer" <?php 
        echo get_option('autoptimize_css_defer') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden css_sub ao_adv" id="autoptimize_css_defer_inline">
<th scope="row"></th>
<td><label for="autoptimize_css_defer_inline"><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>
</tr>
<tr valign="top" class="hidden ao_adv css_sub">
<th scope="row"><?php 
        _e('Inline all CSS?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_inline"><input type="checkbox" id="autoptimize_css_inline" name="autoptimize_css_inline" <?php 
        echo get_option('autoptimize_css_inline') ? 'checked="checked" ' : '';
        ?>
/>
<?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>
</tr>
<tr valign="top" class="hidden ao_adv css_sub">
<th scope="row"><?php 
        _e('Exclude CSS from Autoptimize:', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_exclude"><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 />
<?php 
        _e('A comma-seperated list of CSS you want to exclude from being optimized.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('CDN Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('CDN Base URL', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_url"><input id="cdn_url" type="url" name="autoptimize_cdn_url" pattern="^(https?:)?\/\/([\da-z\.-]+)\.([\da-z\.]{2,6})([\/\w \.-]*)*\/?$" style="width:100%" value="<?php 
        $it = get_option('autoptimize_cdn_url', '');
        echo htmlentities($it);
        ?>
" /><br />
<?php 
        _e('Enter your CDN blog root directory URL if you want to enable CDN for images referenced in the CSS.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3 class="hidden ao_adv"><?php 
        _e('Cache Info', 'autoptimize');
        ?>
</h3>
<table class="form-table last" > 
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Cache folder', 'autoptimize');
        ?>
</th>
<td><?php 
        echo htmlentities(AUTOPTIMIZE_CACHE_DIR);
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Can we write?', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::cacheavail() ? __('Yes', 'autoptimize') : __('No', 'autoptimize');
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Cached styles and scripts', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::stats();
        ?>
</td>
</tr>
<tr valign="top" class="hidden ao_adv">
<th scope="row"><?php 
        _e('Save aggregated script/css as static files?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_cache_nogzip"><input type="checkbox" name="autoptimize_cache_nogzip" <?php 
        echo get_option('autoptimize_cache_nogzip', '1') ? 'checked="checked" ' : '';
        ?>
/>
<?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></td>
</tr> 
<tr class="last">
    <th></th>
    <td>  
        <p class="submit">
        <?php 
        if (get_option('autoptimize_show_adv', '0') == '1') {
            ?>
            <a href="javascript:void(0);" id="ao_show_adv" class="button button-hero" style="display:none;"><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</a>
            <a href="javascript:void(0);" id="ao_hide_adv" class="button button-hero"><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</a>
            <style>.ao_adv {display:table-row};</style>
            <?php 
        } else {
            ?>
            <a href="javascript:void(0);" id="ao_show_adv" class="button button-hero"><?php 
            _e("Show advanced settings", "autoptimize");
            ?>
</a>
            <a href="javascript:void(0);" id="ao_hide_adv" class="button button-hero" style="display:none;"><?php 
            _e("Hide advanced settings", "autoptimize");
            ?>
</a>
            <?php 
        }
        ?>
        <input type="submit" data-action="optimize" class="button button-hero button-primary" value="<?php 
        _e('Save Optimize Changes', 'autoptimize');
        ?>
" />
        <input type="submit" data-action="optimize" class="button button-hero button-primary right" name="autoptimize_cache_clean" value="<?php 
        _e('Save Optimize Changes and Empty Cache', 'autoptimize');
        ?>
" />
        </p>     
    </td>
</tr>
</table>
<input type="hidden" id="autoptimize_show_adv" name="autoptimize_show_adv" value="<?php 
        echo get_option('autoptimize_show_adv', '0');
        ?>
">


</form> 

<script type="text/javascript">
	
	jQuery( function( $ ) {
		check_ini_state();
		jQuery( "#ao_show_adv" ).click(function() {
			jQuery( "#ao_show_adv" ).hide();
			jQuery( "#ao_hide_adv" ).show();
			jQuery( ".ao_adv" ).show("slow");
			if (jQuery("#autoptimize_css").attr('checked')) {
				jQuery(".css_sub:visible").fadeTo("fast",1);
				if (!jQuery("#autoptimize_css_defer").attr('checked')) {
					jQuery("#autoptimize_css_defer_inline").hide();
				}
			}
			if (jQuery("#autoptimize_js").attr('checked')) {
				jQuery(".js_sub:visible").fadeTo("fast",1);
			}
			check_ini_state()
			jQuery( "input#autoptimize_show_adv" ).val("1");
		});

		jQuery( "#ao_hide_adv" ).click(function() {
			jQuery( "#ao_hide_adv" ).hide();
			jQuery( "#ao_show_adv" ).show();
			jQuery( ".ao_adv" ).hide("slow");
            if (!jQuery("#autoptimize_css").attr('checked')) {
                    jQuery(".css_sub:visible").fadeTo("fast",.33);
            }
            if (!jQuery("#autoptimize_js").attr('checked')) {
                    jQuery(".js_sub:visible").fadeTo("fast",.33);
            }
            check_ini_state()
			jQuery( "input#autoptimize_show_adv" ).val("0");
		});

		jQuery( "#autoptimize_html" ).change(function() {
			if (this.checked) {
				jQuery(".html_sub:visible").fadeTo("fast",1);
			} else {
				jQuery(".html_sub:visible").fadeTo("fast",.33);
			}
		});

        jQuery( "#autoptimize_js" ).change(function() {
                if (this.checked) {
                        jQuery(".js_sub:visible").fadeTo("fast",1);
                } else {
                        jQuery(".js_sub:visible").fadeTo("fast",.33);
                }
        });

        jQuery( "#autoptimize_css" ).change(function() {
                if (this.checked) {
                        jQuery(".css_sub:visible").fadeTo("fast",1);
                } else {
                        jQuery(".css_sub:visible").fadeTo("fast",.33);
                }
        });
		
		jQuery( "#autoptimize_css_inline" ).change(function() {
			if (this.checked) {
				jQuery("#autoptimize_css_defer").prop("checked",false);
				jQuery("#autoptimize_css_defer_inline").hide("slow");
			}
		});
		
		jQuery( "#autoptimize_css_defer" ).change(function() {
			if (this.checked) {
				jQuery("#autoptimize_css_inline").prop("checked",false);
				jQuery("#autoptimize_css_defer_inline").show("slow");
			} else {
				jQuery("#autoptimize_css_defer_inline").hide("slow");
			}
		});
        
        $( document ).delegate( '[data-frm="optimize"]', 'submit.save-optimize', function() {
            
            var frm = $( this )
                ,buttons = frm.find( '[data-action="optimize"]' ).each( function() {
                
                    $( this ).attr( 'disabled', true );
                    
                } )
            ;
                
            $.post( frm.attr( 'action' ), frm.serialize(), function() {
                
                buttons.each( function() {
                
                    $( this ).attr( 'disabled', false );
                    
                } );
                
            } );
            
           return false;
                
        } );
	});

	function check_ini_state() {
		if (!jQuery("#autoptimize_css_defer").attr('checked')) {
			jQuery("#autoptimize_css_defer_inline").hide();
		}
		if (!jQuery("#autoptimize_html").attr('checked')) {
			jQuery(".html_sub:visible").fadeTo('fast',.33);
		}
        if (!jQuery("#autoptimize_css").attr('checked')) {
                jQuery(".css_sub:visible").fadeTo('fast',.33);
        }
        if (!jQuery("#autoptimize_js").attr('checked')) {
                jQuery(".js_sub:visible").fadeTo('fast',.33);
        }
	}
</script>
</div>

<?php 
    }
    public function show()
    {
        ?>
<div class="wrap">
<h2><?php 
        _e('Autoptimize Settings', 'autoptimize');
        ?>
</h2>

<div style="float:left;width:70%;">
<form method="post" action="options.php">
<?php 
        settings_fields('autoptimize');
        ?>

<h3><?php 
        _e('HTML Options', 'autoptimize');
        ?>
</h3>
<table class="form-table">
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize HTML Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" name="autoptimize_html" <?php 
        echo get_option('autoptimize_html') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Keep HTML comments?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_html_keepcomments"><input type="checkbox" name="autoptimize_html_keepcomments" <?php 
        echo get_option('autoptimize_html_keepcomments') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. Enable this if you want HTML comments to remain in the page.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('JavaScript Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize JavaScript Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" name="autoptimize_js" <?php 
        echo get_option('autoptimize_js') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Exclude scripts from autoptimize:', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_exclude"><input type="text" style="width:100%;" name="autoptimize_js_exclude" value="<?php 
        echo get_option('autoptimize_js_exclude', "s_sid,smowtion_size,sc_project,WAU_,wau_add,comment-form-quicktags,edToolbar,ch_client");
        ?>
"/><br />
<?php 
        _e('A comma-seperated list of scripts you want to exclude from being Autoptimized, for example \'whatever.js, another.js\' (without the quotes) to exclude those scripts from being aggregated and minimized by Autoptimize.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Look for scripts only in &lt;head&gt;?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_justhead"><input type="checkbox" name="autoptimize_js_justhead" <?php 
        echo get_option('autoptimize_js_justhead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. If the cache gets big, you might want to enable this.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Force JavaScript in &lt;head&gt;?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_forcehead"><input type="checkbox" name="autoptimize_js_forcehead" <?php 
        echo get_option('autoptimize_js_forcehead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. For performance reasons JavaScript is best put at the end of the HTML, but in some circumstances this breaks things. You can in that case check this option to add JavaScript to the &lt;head&gt; section.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Add try-catch wrapping?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_trycatch"><input type="checkbox" name="autoptimize_js_trycatch" <?php 
        echo get_option('autoptimize_js_trycatch') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. If your scripts break because of an script error, you might want to try this.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Use YUI compression?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_js_yui"><input type="checkbox" name="autoptimize_js_yui" <?php 
        echo get_option('autoptimize_js_yui') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('<b>Deprecated!</b> Disabled by default. Read [autoptimize]/yui/README.txt for more information.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('CSS Options', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Optimize CSS Code?', 'autoptimize');
        ?>
</th>
<td><input type="checkbox" name="autoptimize_css" <?php 
        echo get_option('autoptimize_css') ? 'checked="checked" ' : '';
        ?>
/></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Look for styles on just &lt;head&gt;?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_justhead"><input type="checkbox" name="autoptimize_css_justhead" <?php 
        echo get_option('autoptimize_css_justhead') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. If the cache gets big, you might want to enable this.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Generate data: URIs for images?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_datauris"><input type="checkbox" name="autoptimize_css_datauris" <?php 
        echo get_option('autoptimize_css_datauris') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. Enable this to include images on the CSS itself.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Use YUI compression?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_css_yui"><input type="checkbox" name="autoptimize_css_yui" <?php 
        echo get_option('autoptimize_css_yui') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('<b>Deprecated!</b> Disabled by default. Read [autoptimize]/yui/README.txt for more information.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

<h3><?php 
        _e('CDN Options', 'autoptimize');
        ?>
 (Deprecated!)</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Rewrite JavaScript URLs?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_cdn_js"><input type="checkbox" name="autoptimize_cdn_js" <?php 
        echo get_option('autoptimize_cdn_js') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. Do not enable this unless you know what you are doing.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('JavaScript Base URL', 'autoptimize');
        ?>
</th>
<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 : site_url());
        ?>
" />
<?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>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Rewrite CSS URLs?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_cdn_css"><input type="checkbox" name="autoptimize_cdn_css" <?php 
        echo get_option('autoptimize_cdn_css') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. Do not enable this unless you know what you are doing.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('CSS Base URL', 'autoptimize');
        ?>
</th>
<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 : site_url());
        ?>
" />
<?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>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Rewrite Image URLs?', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_cdn_img"><input type="checkbox" name="autoptimize_cdn_img" <?php 
        echo get_option('autoptimize_cdn_img') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. Do not enable this unless you know what you are doing.', 'autoptimize');
        ?>
</label></td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Image Base URL', 'autoptimize');
        ?>
</th>
<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 : site_url());
        ?>
" />
<?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>
</tr>
</table>

<h3><?php 
        _e('Cache Info', 'autoptimize');
        ?>
</h3>
<table class="form-table"> 
<tr valign="top">
<th scope="row"><?php 
        _e('Cache folder', 'autoptimize');
        ?>
</th>
<td><?php 
        echo htmlentities(AUTOPTIMIZE_CACHE_DIR);
        ?>
</td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Can we write?', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::cacheavail() ? __('Yes', 'autoptimize') : __('No', 'autoptimize');
        ?>
</td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Cached styles and scripts', 'autoptimize');
        ?>
</th>
<td><?php 
        echo autoptimizeCache::stats();
        ?>
</td>
</tr>
<tr valign="top">
<th scope="row"><?php 
        _e('Do not compress cache files', 'autoptimize');
        ?>
</th>
<td><label for="autoptimize_cache_nogzip"><input type="checkbox" name="autoptimize_cache_nogzip" <?php 
        echo get_option('autoptimize_cache_nogzip') ? 'checked="checked" ' : '';
        ?>
/>
<?php 
        _e('Disabled by default. Enable this if you want to compress the served files using your webserver.', 'autoptimize');
        ?>
</label></td>
</tr>
</table>

</table>

<p class="submit">
<input type="submit" class="button-primary" value="<?php 
        _e('Save Changes');
        ?>
" />
<input type="submit" name="autoptimize_cache_clean" value="<?php 
        _e('Save Changes and Empty Cache');
        ?>
" />
</p>

</form>
</div>
<div style="float:right;width:30%" id="autoptimize_admin_feed">
        <div style="margin-left:10px;margin-top:-5px;">
                <h3>
                        <?php 
        _e("futtta about", "autoptimize");
        ?>
                        <select id="feed_dropdown" >
                                <option value="1"><?php 
        _e("Autoptimize", "autoptimize");
        ?>
</option>
                                <option value="2"><?php 
        _e("WordPress", "autoptimize");
        ?>
</option>
                                <option value="3"><?php 
        _e("Web Technology", "autoptimize");
        ?>
</option>
                        </select>
                </h3>
                <div id="futtta_feed"></div>
        </div>
</div>

<script type="text/javascript">
	var feed = new Array;
	feed[1]="http://feeds.feedburner.com/futtta_autoptimize";
	feed[2]="http://feeds.feedburner.com/futtta_wordpress";
	feed[3]="http://feeds.feedburner.com/futtta_webtech";
	cookiename="autoptimize_feed";

        jQuery(document).ready(function() {
		jQuery("#feed_dropdown").change(function() { show_feed(jQuery("#feed_dropdown").val()) });

		feedid=jQuery.cookie(cookiename);
		if(typeof(feedid) !== "string") feedid=1;

		show_feed(feedid);
		})

	function show_feed(id) {
  		jQuery('#futtta_feed').rssfeed(feed[id], {
			<?php 
        if (is_ssl()) {
            echo "ssl: true,";
        }
        ?>
    			limit: 4,
			date: true,
			header: false
  		});
		jQuery("#feed_dropdown").val(id);
		jQuery.cookie(cookiename,id,{ expires: 365 });
	}
</script>

</div>
<?php 
    }