Current File : /home/aventura/www/site/wp-content/themes/kleo/lib/dynamic-css.php |
<?php
/* Dynamic CSS Logic
* @author SeventhQueen
*
*/
/***************************************************
:: Render custom css resulted from theme options
***************************************************/
global $kleo_config, $kleo_theme;
$kleo_dynamic_version = get_option( 'sq_dynamic_' . KLEO_DOMAIN );
if( $kleo_dynamic_version == false ) {
$needs_update = true;
} else {
$needs_update = version_compare( $kleo_dynamic_version, KLEO_THEME_VERSION, '<' );
}
//write the file if isn't there
//if (! defined( 'DOING_AJAX' || ! DOING_AJAX ) ) {
if ( $needs_update || ! file_exists( trailingslashit( $kleo_config['custom_style_path'] ) . 'dynamic.css' ) ) {
add_filter( 'kleo_add_dynamic_style', array( $kleo_theme, 'add_font_css' ) );
add_action( 'after_setup_theme', 'kleo_generate_dynamic_css', 999 );
update_option( 'sq_dynamic_' . KLEO_DOMAIN, KLEO_THEME_VERSION );
}
if ( ! is_admin() ) {
if ( wp_is_writable( trailingslashit( $kleo_config['upload_basedir'] ) ) ) {
add_action( 'wp_enqueue_scripts', 'kleo_load_dynamic_css', 22 );
} else {
add_action( 'wp_head', 'kleo_custom_head_css' );
}
}
/**
* Load generated CSS file containing theme customizations
* @global array $kleo_config
*/
function kleo_load_dynamic_css() {
/* If remove query option is ON */
if ( sq_option( 'perf_remove_query', 0 ) == 1 ) {
$version = null;
} else {
$version = KLEO_THEME_VERSION;
if ( sq_option( 'stime', '' ) ) {
$version .= '.' . sq_option( 'stime', '' );
}
}
global $kleo_config;
wp_register_style( 'kleo-colors', trailingslashit( $kleo_config['custom_style_url'] ) . 'dynamic.css', array(), $version, 'all' );
wp_enqueue_style( 'kleo-colors' );
}
/**
* Generate CSS styles in head section
* @global Kleo $kleo_theme
*/
function kleo_custom_head_css() {
$kleo_theme = Kleo::instance();
$dynamic_css = get_template_directory() . '/assets/css/dynamic.php';
echo "\n<style>";
ob_start(); // Capture all output (output buffering)
//add fonts styles
add_filter( 'kleo_add_dynamic_style', array( $kleo_theme, 'add_font_css' ) );
require( $dynamic_css ); // Generate CSS
$css = ob_get_clean(); // Get generated CSS
echo kleo_compress( $css );
echo '</style>';
}