AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
#Header Expire
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
ExpiresByType application/javascript A2592000
#Turn Off ETags
Header unset ETag
FileETag None
';
insert_with_markers( $file_path, "Advanced Speed Increaser", $insertion );
return $status;
}
function tw_asi_erase_file($filename){
$status = true;
extract_from_markers( $filename, "Advanced Speed Increaser" );
return $status;
}
}
// Add settings link on plugin page
function tw_asi_settings_link ($links) {
$settings_link = ''.__('Settings', 'tw_asi-settings').'';
array_unshift($links, $settings_link);
return $links;
}
$tw_asi_plugin = TWASI_PLUGIN_BASENAME;
add_filter("plugin_action_links_$tw_asi_plugin", 'tw_asi_settings_link' );
function tw_asi_getSizes($size){
$size_r = '';
if($size==0){
$size_r = "0";
}
else if($size<1024){
$size_r = $size. ' B';
}
else if($size>=1024 && $size<(1024*1024)){
$size_r = round($size/(1024),2). ' KB';
}
else{
$size_r = round($size/(1024*1024),2). ' MB';
}
return $size_r;
}
function tw_asi_table_optimize($tables){
global $wpdb;
$status = true;
$sql_opt = "OPTIMIZE TABLE ".$tables;
$wpdb->query($sql_opt);
return $status;
}
function tw_asi_table_remove($type){
global $wpdb;
$status = true;
if($type==1){
$sql = "DELETE FROM `$wpdb->posts` WHERE post_type = 'revision'";
$wpdb->query( $sql );
}
else if($type==2){
$sql = "DELETE FROM `$wpdb->posts` WHERE post_status = 'auto-draft'";
$wpdb->query( $sql );
}
else if($type==3){
$sql = "DELETE FROM `$wpdb->posts` WHERE post_status = 'trash'";
$wpdb->query( $sql );
$sql = "DELETE asi FROM `$wpdb->postmeta` asi LEFT JOIN `$wpdb->posts` wp ON wp.ID = asi.post_id WHERE wp.ID IS NULL";
$wpdb->query( $sql );
}
else if($type==4){
$sql = "DELETE FROM `$wpdb->comments` WHERE comment_approved = 'spam'";
$wpdb->query( $sql );
}
else if($type==5){
$sql = "DELETE FROM `$wpdb->comments` WHERE comment_approved = 'trash'";
$wpdb->query( $sql );
}
else if($type==6){
$sql = "DELETE FROM `$wpdb->options` WHERE option_name LIKE '_site_transient_browser_%' OR option_name LIKE '_site_transient_timeout_browser_%' OR option_name LIKE '_transient_feed_%' OR option_name LIKE '_transient_timeout_feed_%'";
$wpdb->query( $sql );
}
return $status;
}
function tw_asi_minify_html ($buffer) {
$initial = strlen($buffer);
$tw_asi_html1 = get_option( 'tw_asi_html1', 0 );
if($tw_asi_html1==1){
$search = array(
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\',
'<',
'\\1'
);
$buffer = preg_replace($search, $replace, $buffer);
}
$final = strlen($buffer);
$savings = round((($initial-$final)/$initial*100), 3);
if ($savings != 0) {
$buffer .= PHP_EOL . '';
}
return $buffer;
}
function tw_asi_minify() {
ob_start('tw_asi_minify_html');
}
add_action('get_header', 'tw_asi_minify');
function tw_asi_admin_register_head() {
$siteurl = get_option('siteurl');
$url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/assets/css/admin.css';
echo "\n";
}
add_action('admin_head', 'tw_asi_admin_register_head');
function tw_asi_admin_message() {
$tw_asi_msg = get_option( 'tw_asi_msg', 1 );
if($tw_asi_msg!=1){
echo '
';
}
}
// Now we set that function up to execute when the admin_notices action is called
add_action( 'admin_notices', 'tw_asi_admin_message' );