* @copyright Copyright (c) 2013, Nicolas GUILLAUME * @link http://themesandco.com/customizr * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ if ( ! class_exists( 'TC_resources' ) ) : class TC_resources { //Access any method or var of the class with classname::$instance -> var or method(): static $instance; function __construct () { self::$instance =& $this; add_action ( 'wp_enqueue_scripts' , array( $this , 'tc_enqueue_customizr_styles' ) ); add_action ( 'wp_enqueue_scripts' , array( $this , 'tc_enqueue_customizr_scripts' ) ); $custom_css_priority = apply_filters( 'tc_custom_css_priority', 20 ); //Custom CSS based on options add_action ( 'wp_head' , array( $this , 'tc_write_custom_css' ), $custom_css_priority ); } /** * Registers and enqueues Customizr stylesheets * @package Customizr * @since Customizr 1.1 */ function tc_enqueue_customizr_styles() { wp_register_style( 'customizr-skin' , TC_init::$instance -> tc_active_skin(), array(), CUSTOMIZR_VER, $media = 'all' ); //enqueue skin wp_enqueue_style( 'customizr-skin' ); //enqueue WP stylesheet wp_enqueue_style( 'customizr-style' , get_stylesheet_uri() , array( 'customizr-skin' ), CUSTOMIZR_VER , $media = 'all' ); } /** * Loads Customizr and JS script in footer for better time load. * * @uses wp_enqueue_script() to manage script dependencies * @package Customizr * @since Customizr 1.0 */ function tc_enqueue_customizr_scripts() { //wp scripts if ( is_singular() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'jquery-ui-core' ); //bootstrap scripts wp_enqueue_script( 'bootstrap' ,TC_BASE_URL . 'inc/assets/js/bootstrap.min.js' ,array( 'jquery' ),null, $in_footer = true); //tc scripts wp_enqueue_script( 'tc-scripts' ,TC_BASE_URL . 'inc/assets/js/tc-scripts.min.js' ,array( 'jquery' ),null, $in_footer = true); //passing dynamic vars to tc-scripts //fancybox options $tc_fancybox = ( 1 == tc__f( '__get_option' , 'tc_fancybox' ) ) ? true : false; $autoscale = ( 1 == tc__f( '__get_option' , 'tc_fancybox_autoscale') ) ? true : false ; //carousel options //gets slider options if any for home/front page or for others posts/pages $js_slidername = tc__f('__is_home') ? tc__f( '__get_option' , 'tc_front_slider' ) : get_post_meta( tc__f('__ID') , $key = 'post_slider_key' , $single = true ); $js_sliderdelay = tc__f('__is_home') ? tc__f( '__get_option' , 'tc_slider_delay' ) : get_post_meta( tc__f('__ID') , $key = 'slider_delay_key' , $single = true ); //add those to filters $js_slidername = apply_filters( 'tc_js_slider_name', $js_slidername , tc__f('__ID') ); $js_sliderdelay = apply_filters( 'tc_js_slider_delay' , $js_sliderdelay, tc__f('__ID') ); //creates a filter for stop-on-hover option $sliderhover = apply_filters( 'tc_stop_slider_hover', true ); //Smooth scroll on click option : filtered to allow easy disabling if needed (conflict) $smooth_scroll = apply_filters( 'tc_smooth_scroll', esc_attr( tc__f( '__get_option' , 'tc_link_scroll') ) ); global $wp_query; //has the post comments ? adds a boolean parameter in js $has_post_comments = ( 0 != $wp_query -> post_count && comments_open() && get_comments_number() != 0 ) ? true : false; //adds the jquery effect library if smooth scroll is enabled => easeOutExpo effect if ( $smooth_scroll ) { wp_enqueue_script( 'jquery-effects-core'); } //Gets the left and right sidebars class for js actions $left_sb_class = sprintf('.%1$s.left.tc-sidebar', apply_filters('tc_left_sidebar_class' , 'span3' ) ); $right_sb_class = sprintf('.%1$s.right.tc-sidebar', apply_filters('tc_right_sidebar_class' , 'span3' ) ); wp_localize_script( 'tc-scripts', 'TCParams', apply_filters('tc_js_front_end_params' , array( 'FancyBoxState' => $tc_fancybox, 'FancyBoxAutoscale' => $autoscale, 'SliderName' => $js_slidername, 'SliderDelay' => $js_sliderdelay, 'SliderHover' => $sliderhover, 'SmoothScroll' => $smooth_scroll ? 'easeOutExpo' : 'linear', 'ReorderBlocks' => esc_attr( tc__f( '__get_option' , 'tc_block_reorder') ), 'CenterSlides' => esc_attr( tc__f( '__get_option' , 'tc_center_slides') ), 'HasComments' => $has_post_comments, 'LeftSidebarClass' => $left_sb_class, 'RightSidebarClass' => $right_sb_class, ) )//end of filter ); //holder image wp_enqueue_script( 'holder' ,TC_BASE_URL . 'inc/assets/js/holder.js' ,array( 'jquery' ),null, $in_footer = true); //modernizr (must be loaded in wp_head()) wp_enqueue_script( 'modernizr' ,TC_BASE_URL . 'inc/assets/js/modernizr.min.js' ,array( 'jquery' ),null, $in_footer = false); //fancybox script and style if ( 1 == tc__f( '__get_option' , 'tc_fancybox' ) ) { wp_enqueue_script( 'fancyboxjs' ,TC_BASE_URL . 'inc/assets/js/fancybox/jquery.fancybox-1.3.4.min.js' ,array( 'jquery' ),null, $in_footer = true); wp_enqueue_style( 'fancyboxcss' , TC_BASE_URL . 'inc/assets/js/fancybox/jquery.fancybox-1.3.4.min.css' ); } //retina support script if ( 1 == tc__f( '__get_option' , 'tc_retina_support' ) ) { wp_enqueue_script( 'retinajs', TC_BASE_URL . 'inc/assets/js/retina.min.js', null, null, $in_footer = true ); } } /** * Get the sanitized custom CSS from options array : fonts, custom css, and echoes the stylesheet * * @package Customizr * @since Customizr 2.0.7 */ function tc_write_custom_css() { $tc_custom_css = esc_html( tc__f( '__get_option' , 'tc_custom_css') ); $tc_top_border = esc_attr( tc__f( '__get_option' , 'tc_top_border') ); ?>