| Current Path : /home/ereika83/www/wp-content/plugins/wp-rocket/inc/3rd-party/ |
| Current File : /home/ereika83/www/wp-content/plugins/wp-rocket/inc/3rd-party/simple-custom-css.php |
<?php
defined( 'ABSPATH' ) or die( 'Cheatin’ uh?' );
if ( defined( 'SCCSS_FILE' ) ) :
add_action( 'wp_enqueue_scripts', 'rocket_cache_sccss', 98 );
add_action( 'update_option_sccss_settings', 'rocket_delete_sccss_cache_file' );
add_filter( 'rocket_cache_busting_filename', 'rocket_sccss_cache_busting_filename' );
endif;
/**
* Caches SCCSS code & remove the default enqueued URL
*
* @since 2.9
* @author Remy Perona
*/
function rocket_cache_sccss() {
$sccss = rocket_get_cache_busting_paths( 'sccss.css', 'css' );
if ( ! file_exists( $sccss['filepath'] ) ) {
rocket_sccss_create_cache_file( $sccss['bustingpath'], $sccss['filepath'] );
}
if ( file_exists( $sccss['filepath'] ) ) {
wp_enqueue_style( 'scss', $sccss['url'], '', filemtime( $sccss['filepath'] ) );
remove_action( 'wp_enqueue_scripts', 'sccss_register_style', 99 );
}
}
/**
* Deletes & recreates cache for SCCSS code
*
* @since 2.9
* @author Remy Perona
*/
function rocket_delete_sccss_cache_file() {
$sccss = rocket_get_cache_busting_paths( 'sccss.css', 'css' );
array_map( 'unlink', glob( $sccss['bustingpath'] . 'sccss*.css' ) );
rocket_clean_domain();
rocket_sccss_create_cache_file( $sccss['bustingpath'], $sccss['filepath'] );
}
/**
* Returns the filename for SCSSS cache file
*
* @since 2.9
* @author Remy Perona
*
* @param string $filename filename.
* @return string filename
*/
function rocket_sccss_cache_busting_filename( $filename ) {
if ( false !== strpos( $filename, 'sccss' ) ) {
return preg_replace( '/(?:.*)(sccss(?:.*))/i', '$1', $filename );
}
return $filename;
}
/**
* Creates the cache file for SCCSS code
*
* @since 2.9
* @author Remy Perona
*
* @param string $cache_busting_path Path to the cache busting directory.
* @param string $cache_sccss_filepath Path to the sccss cache file.
*/
function rocket_sccss_create_cache_file( $cache_busting_path, $cache_sccss_filepath ) {
$options = get_option( 'sccss_settings' );
$raw_content = isset( $options['sccss-content'] ) ? $options['sccss-content'] : '';
$content = wp_kses( $raw_content, array( '\'', '\"' ) );
$content = str_replace( '>', '>', $content );
if ( ! is_dir( $cache_busting_path ) ) {
rocket_mkdir_p( $cache_busting_path );
}
rocket_put_content( $cache_sccss_filepath, $content );
}