File: /home/ic3/domains/thcsanphu.ic3.info/public_html/wp-content/plugins/foxtool/inc/speed.php
<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
global $foxtool_options;
# Remove jquery-migrate
if(isset($foxtool_options['speed-off1'])){
function foxtool_remove_jquery_migrate( $scripts ) {
if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
$script = $scripts->registered['jquery'];
if ( $script->deps ) {
$script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
}
}
}
add_action( 'wp_default_scripts', 'foxtool_remove_jquery_migrate' );
}
# tắt Gutenberg CSS o home
if(isset($foxtool_options['speed-off2'])){
function foxtool_remove_wp_block_library_css() {
if ( is_front_page() ) {
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'wc-blocks-style' );
}
}
add_action( 'wp_enqueue_scripts', 'foxtool_remove_wp_block_library_css', 100 );
}
# tắt Classic CSS o home
if(isset($foxtool_options['speed-off3'])){
function foxtool_classic_styles_off() {
if ( is_front_page()) {
wp_dequeue_style( 'classic-theme-styles' );
}
}
add_action( 'wp_enqueue_scripts', 'foxtool_classic_styles_off', 20 );
}
# tắt emoji
if(isset($foxtool_options['speed-off4'])){
function foxtool_disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
}
add_action( 'init', 'foxtool_disable_emojis' );
}
# gioi han so ban ghi trong csdl
if(isset($foxtool_options['speed-data1'])){
function foxtool_limit_post_revisions($num, $post) {
global $foxtool_options;
if(!empty($foxtool_options['speed-data11'])){
$limit = $foxtool_options['speed-data11'];
} else {
$limit = 3;
}
return $limit;
}
add_filter('wp_revisions_to_keep', 'foxtool_limit_post_revisions', 10, 2);
}
# gioi han thoi gian luu bai viet tu dong pút
if(isset($foxtool_options['speed-data2'])){
if (!defined('AUTOSAVE_INTERVAL')) {
$secon = !empty($foxtool_options['speed-data21']) ? $foxtool_options['speed-data21'] : 1;
define('AUTOSAVE_INTERVAL', $secon * MINUTE_IN_SECONDS);
}
}
# thu vien instant-page.js tai truoc link khi di chuot
if(isset($foxtool_options['speed-link1'])){
function foxtool_instantpage_scripts() {
wp_enqueue_script( 'instantpage', FOXTOOL_URL . 'link/instantpage.js', array(), '5.7.0', true );
}
add_action( 'wp_enqueue_scripts', 'foxtool_instantpage_scripts' );
function foxtool_instantpage_loader_tag( $tag, $handle ) {
if ( 'instantpage' === $handle ) {
if ( strpos( $tag, 'text/javascript' ) !== false ) {
$tag = str_replace( 'text/javascript', 'module', $tag );
}
else {
$tag = str_replace( '<script ', "<script type='module' ", $tag );
}
}
return $tag;
}
add_filter( 'script_loader_tag', 'foxtool_instantpage_loader_tag', 10, 2 );
}
# cuon trang muot ma
if(isset($foxtool_options['speed-link2'])){
function foxtool_smooth_scripts() {
wp_enqueue_script( 'smooth-scroll', FOXTOOL_URL . 'link/smooth-scroll.min.js', array(), true );
}
add_action( 'wp_enqueue_scripts', 'foxtool_smooth_scripts' );
}
# lazyload hinh anh
if(isset($foxtool_options['speed-lazy1'])){
function foxtool_lazyload_to_images_with_jquery() {
if (!is_admin()) {
wp_add_inline_script('jquery', '
jQuery(document).ready(function($) {
$("img").addClass("lazyload").each(function() {
var dataSrc = $(this).attr("src");
$(this).attr("data-src", dataSrc).removeAttr("src");
});
});
');
wp_enqueue_script( 'lazyload', FOXTOOL_URL . 'link/lazysizes.min.js', array('jquery'), '5.3.2', true);
}
}
add_action('wp_enqueue_scripts', 'foxtool_lazyload_to_images_with_jquery');
}
# tuy chon nen html
function foxtool_minify_html_output($buffer) {
global $foxtool_options;
if ( substr( ltrim( $buffer ), 0, 5) == '<?xml' )
return ( $buffer );
if ( isset($foxtool_options['speed-zip16']) && mb_detect_encoding($buffer, 'UTF-8', true) )
$mod = '/u';
else
$mod = '/s';
$buffer = str_replace(array (chr(13) . chr(10), chr(9)), array (chr(10), ''), $buffer);
$buffer = str_ireplace(array ('<script', '/script>', '<pre', '/pre>', '<textarea', '/textarea>', '<style', '/style>'), array ('M1N1FY-ST4RT<script', '/script>M1N1FY-3ND', 'M1N1FY-ST4RT<pre', '/pre>M1N1FY-3ND', 'M1N1FY-ST4RT<textarea', '/textarea>M1N1FY-3ND', 'M1N1FY-ST4RT<style', '/style>M1N1FY-3ND'), $buffer);
$split = explode('M1N1FY-3ND', $buffer);
$buffer = '';
for ( $i=0; $i<count($split); $i++ ) {
$ii = strpos($split[$i], 'M1N1FY-ST4RT');
if ( $ii !== false ) {
$process = substr($split[$i], 0, $ii);
$asis = substr($split[$i], $ii + 12);
if ( substr($asis, 0, 7) == '<script' ) {
$split2 = explode(chr(10), $asis);
$asis = '';
for ( $iii = 0; $iii < count($split2); $iii ++ ) {
if ( $split2[$iii] )
$asis .= trim($split2[$iii]) . chr(10);
if ( isset($foxtool_options['speed-zip11']) ) {
$last = substr(trim($split2[$iii]), -1);
if ( strpos($split2[$iii], '//') !== false && ($last == ';' || $last == '>' || $last == '{' || $last == '}' || $last == ',') )
$asis .= chr(10);
}
}
if ( $asis )
$asis = substr($asis, 0, -1);
if ( isset($foxtool_options['speed-zip12']) )
$asis = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $asis);
if ( isset($foxtool_options['speed-zip11']) )
$asis = str_replace(array (';' . chr(10), '>' . chr(10), '{' . chr(10), '}' . chr(10), ',' . chr(10)), array(';', '>', '{', '}', ','), $asis);
} else if ( substr($asis, 0, 6) == '<style' ) {
$asis = preg_replace(array ('/\>[^\S ]+' . $mod, '/[^\S ]+\<' . $mod, '/(\s)+' . $mod), array('>', '<', '\\1'), $asis);
if ( isset($foxtool_options['speed-zip12']) )
$asis = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $asis);
$asis = str_replace(array (chr(10), ' {', '{ ', ' }', '} ', '( ', ' )', ' :', ': ', ' ;', '; ', ' ,', ', ', ';}'), array('', '{', '{', '}', '}', '(', ')', ':', ':', ';', ';', ',', ',', '}'), $asis);
}
} else {
$process = $split[$i];
$asis = '';
}
$process = preg_replace(array ('/\>[^\S ]+' . $mod, '/[^\S ]+\<' . $mod, '/(\s)+' . $mod), array('>', '<', '\\1'), $process);
if ( isset($foxtool_options['speed-zip12']) )
$process = preg_replace('/<!--(?!\s*(?:\[if [^\]]+]|<!|>))(?:(?!-->).)*-->' . $mod, '', $process);
$buffer .= $process.$asis;
}
$buffer = str_replace(array (chr(10) . '<script', chr(10) . '<style', '*/' . chr(10), 'M1N1FY-ST4RT'), array('<script', '<style', '*/', ''), $buffer);
if ( isset($foxtool_options['speed-zip13']) && strtolower( substr( ltrim( $buffer ), 0, 15 ) ) == '<!doctype html>' )
$buffer = str_replace( ' />', '>', $buffer );
if ( isset($foxtool_options['speed-zip14']) )
$buffer = str_replace( array ( 'https://' . $_SERVER['HTTP_HOST'] . '/', 'http://' . $_SERVER['HTTP_HOST'] . '/', '//' . $_SERVER['HTTP_HOST'] . '/' ), array( '/', '/', '/' ), $buffer );
if (isset($foxtool_options['speed-zip15']))
$buffer = str_replace( array( 'http://', 'https://' ), '//', $buffer );
return ( $buffer );
}
function foxtool_init_minify_html(){
global $foxtool_options;
if(isset($foxtool_options['speed-zip1']) && !is_user_logged_in()){
ob_start('foxtool_minify_html_output');
}
}
add_action( 'init', 'foxtool_init_minify_html', 1 );