Submit
Path:
~
/
home
/
getwphos
/
www
/
bubrupamjcb.com
/
wp-content
/
themes
/
caards
/
core
/
customizer
/
File Content:
class-customizer.php
<?php /** * Customizer * * @package Chloe */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'CSCO_Customizer' ) ) { /** * Class Theme Customizer */ class CSCO_Customizer { /** * A reference to an instance of this class. * * @var object */ private static $instance = null; /** * An array of all our panels. * * @var array */ public static $panels = array(); /** * An array of all our sections. * * @var array */ public static $sections = array(); /** * An array of all our fields. * * @var array */ public static $fields = array(); /** * An array of field dependencies. * * @var array */ private static $dependencies = array(); /** * Returns the instance. * * @return object */ public static function get_instance() { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * The class constructor */ public function __construct() { /** Include file helper */ require_once get_theme_file_path( '/core/customizer/class-helper.php' ); /** Include fonts modules */ require_once get_theme_file_path( '/core/customizer/modules/class-fonts.php' ); require_once get_theme_file_path( '/core/customizer/modules/class-fonts-google.php' ); require_once get_theme_file_path( '/core/customizer/modules/class-fonts-theme.php' ); require_once get_theme_file_path( '/core/customizer/modules/class-output-styles.php' ); /** Include files of controls */ if ( class_exists( 'WP_Customize_Control' ) ) { require_once get_theme_file_path( '/core/customizer/controls/class-control-dimension.php' ); require_once get_theme_file_path( '/core/customizer/controls/class-control-background.php' ); require_once get_theme_file_path( '/core/customizer/controls/class-control-divider.php' ); require_once get_theme_file_path( '/core/customizer/controls/class-control-heading.php' ); require_once get_theme_file_path( '/core/customizer/controls/class-control-multicheck.php' ); require_once get_theme_file_path( '/core/customizer/controls/class-control-collapsible.php' ); require_once get_theme_file_path( '/core/customizer/controls/class-control-color-alpha.php' ); require_once get_theme_file_path( '/core/customizer/controls/class-control-typography.php' ); } /** Initialize actions */ add_action( 'customize_register', array( $this, 'customizer_register' ) ); add_action( 'customize_controls_enqueue_scripts', array( $this, 'customizer_controls_enqueue_scripts' ) ); add_filter( 'csco_customizer_field_add_setting_args', array( $this, 'field_add_setting_args' ) ); add_filter( 'csco_customizer_field_add_control_args', array( $this, 'field_add_control_args' ) ); } /** * Create a new panel. * * @param string $id The ID for this panel. * @param array $args The panel arguments. * * @return void */ public static function add_panel( $id = '', $args = array() ) { self::$panels[ $id ] = $args; } /** * Create a new section. * * @param string $id The ID for this section. * @param array $args The section arguments. * * @return void */ public static function add_section( $id, $args ) { self::$sections[ $id ] = $args; } /** * Create a new field * * @param array $args The field's arguments. * * @return void */ public static function add_field( $args ) { if ( isset( $args['settings'] ) && isset( $args['type'] ) ) { self::$fields[ $args['settings'] ] = $args; } } /** * Register new panels, sections and fields * * @param object $wp_customize The component name. * * @return void */ public function customizer_register( $wp_customize ) { // Set panels. foreach ( self::$panels as $panel_id => $panel_args ) { $wp_customize->add_panel( $panel_id, $panel_args ); } // Set sections. foreach ( self::$sections as $section_id => $section_args ) { $wp_customize->add_section( $section_id, $section_args ); } // Register the custom control type. $wp_customize->register_control_type( 'CSCO_Customize_Typography_Control' ); $wp_customize->register_control_type( 'CSCO_Customize_Multicheck_Control' ); $wp_customize->register_control_type( 'CSCO_Customize_Background_Control' ); // Set fields. foreach ( self::$fields as $field_id => $field_args ) { $params = apply_filters( 'csco_customizer_field_add_setting_args', $field_args, $wp_customize ); call_user_func( array( $wp_customize, 'add_setting' ), $field_id, $params ); $args = apply_filters( 'csco_customizer_field_add_control_args', $field_args, $wp_customize ); switch ( $field_args['type'] ) { case 'color': $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $field_id, $args ) ); break; case 'image': $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, $field_id, $args ) ); break; case 'dimension': $wp_customize->add_control( new CSCO_Customize_Dimension_Control( $wp_customize, $field_id, $args ) ); break; case 'group-background': $wp_customize->add_control( new CSCO_Customize_Background_Control( $wp_customize, $field_id, $args ) ); break; case 'divider': $wp_customize->add_control( new CSCO_Customize_Divider_Control( $wp_customize, $field_id, $args ) ); break; case 'heading': $wp_customize->add_control( new CSCO_Customize_Heading_Control( $wp_customize, $field_id, $args ) ); break; case 'multicheck': $wp_customize->add_control( new CSCO_Customize_Multicheck_Control( $wp_customize, $field_id, $args ) ); break; case 'collapsible': $wp_customize->add_control( new CSCO_Customize_Collapsible_Control( $wp_customize, $field_id, $args ) ); break; case 'color-alpha': $wp_customize->add_control( new CSCO_Customize_Color_Alpha_Control( $wp_customize, $field_id, $args ) ); break; case 'typography': $wp_customize->add_control( new CSCO_Customize_Typography_Control( $wp_customize, $field_id, $args ) ); break; default: $wp_customize->add_control( $field_id, $args ); break; } } } /** * Filter setting arguments. * * @param array $args The field arguments. * * @return array */ public function field_add_setting_args( $args ) { $args = array( 'type' => isset( $args['type_mod'] ) ? $args['type_mod'] : 'theme_mod', 'capability' => isset( $args['capability'] ) ? $args['capability'] : 'edit_theme_options', 'theme_supports' => isset( $args['theme_supports'] ) ? $args['theme_supports'] : '', 'default' => isset( $args['default'] ) ? $args['default'] : '', 'transport' => isset( $args['transport'] ) ? $args['transport'] : 'refresh', 'sanitize_callback' => isset( $args['sanitize_callback'] ) ? $args['sanitize_callback'] : '', 'sanitize_js_callback' => isset( $args['sanitize_js_callback'] ) ? $args['sanitize_js_callback'] : '', ); return $args; } /** * Filter control arguments. * * @param array $args The field arguments. * * @return array */ public function field_add_control_args( $args ) { if ( isset( $args['active_callback'] ) ) { if ( is_array( $args['active_callback'] ) ) { if ( ! is_callable( $args['active_callback'] ) ) { foreach ( $args['active_callback'] as $key => $val ) { if ( is_callable( $val ) ) { unset( $args['active_callback'][ $key ] ); } } if ( isset( $args['active_callback'][0] ) ) { $args['required'] = $args['active_callback']; } } } if ( ! empty( $args['required'] ) ) { self::$dependencies[ $args['settings'] ] = $args['required']; $args['active_callback'] = '__return_true'; return $args; } // No need to proceed any further if we're using the default value. if ( '__return_true' === $args['active_callback'] ) { return $args; } // Make sure the function is callable, otherwise fallback to __return_true. if ( ! is_callable( $args['active_callback'] ) ) { $args['active_callback'] = '__return_true'; } } return $args; } /** * Enqueue Customizer control scripts. * * @return void */ public function customizer_controls_enqueue_scripts() { wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_script( 'wp-color-picker' ); // Register customize selectWoo scripts. wp_register_script( 'selectWoo', get_theme_file_uri( '/core/customizer/assets/selectWoo.full.min.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/core/customizer/assets/selectWoo.full.min.js' ) ), true ); // Register customize scripts. wp_register_script( 'csco-customizer', get_theme_file_uri( '/core/customizer/assets/customizer.js' ), array( 'jquery', 'customize-controls', 'selectWoo' ), filemtime( get_theme_file_path( '/core/customizer/assets/customizer.js' ) ), true ); // Localize customize scripts. wp_localize_script( 'csco-customizer', 'cscoCustomizerConfig', array( 'dependencies' => self::$dependencies, 'advanced_settings' => esc_html__( 'Advanced settings', 'caards' ), 'noFileSelected' => esc_html__( 'No File Selected', 'caards' ), 'remove' => esc_html__( 'Remove', 'caards' ), 'default' => esc_html__( 'Default', 'caards' ), 'selectFile' => esc_html__( 'Select File', 'caards' ), 'standardFonts' => esc_html__( 'Standard Fonts', 'caards' ), 'googleFonts' => esc_html__( 'Google Fonts', 'caards' ), 'defaultCSSValues' => esc_html__( 'CSS Defaults', 'caards' ), 'defaultBrowserFamily' => esc_html__( 'Default Browser Font-Family', 'caards' ), ) ); // Enqueue customize scripts. wp_enqueue_script( 'csco-customizer' ); // Register customize select2 style. wp_register_style( 'selectWoo', get_theme_file_uri( '/core/customizer/assets/selectWoo.min.css' ), array(), filemtime( get_theme_file_path( '/core/customizer/assets/selectWoo.min.css' ) ) ); // Register customize style. wp_register_style( 'csco-customizer', get_theme_file_uri( '/core/customizer/assets/customizer.css' ), array( 'selectWoo' ), filemtime( get_theme_file_path( '/core/customizer/assets/customizer.css' ) ) ); // Enqueue customize style. wp_enqueue_style( 'csco-customizer' ); } } if ( ! function_exists( 'csco_customizer' ) ) { /** * Returns instanse of the Theme Customizer class. * * @return object */ function csco_customizer() { return CSCO_Customizer::get_instance(); } } csco_customizer(); }
Submit
FILE
FOLDER
Name
Size
Permission
Action
assets
---
0755
controls
---
0755
modules
---
0755
class-customizer.php
10878 bytes
0644
class-helper.php
6089 bytes
0644
N4ST4R_ID | Naxtarrr