index of
/
home
/
thefkyzp
/
public_html
/
wp-content
/
plugins
/
ocean-extra
/
includes
/
preloader
/
File: /home/thefkyzp/public_html/wp-content/plugins/ocean-extra/includes/preloader/customizer.php
<?php /** * Preloader * * @package Ocean_Extra * @category Core * @author OceanWP */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } // Start Class class Ocean_Preloader_Customizer { /** * Status */ public $active = false; /** * Type */ public $type = 'default'; /** * Icon Type */ public $icon_type = 'css'; /** * Icon */ public $icon = 'roller'; /** * Elementor template id */ public $template_id = ''; /** * Initialize */ public function __construct() { add_action( 'customize_register', array( $this, 'customizer_options' ) ); $this->active = get_theme_mod( 'ocean_preloader_enable', false ); $this->type = get_theme_mod( 'ocean_preloader_type', 'default' ); $this->icon_type = get_theme_mod( 'ocean_preloader_icon_type', 'css' ); $this->icon = get_theme_mod( 'ocean_preloader_default_icon', 'roller' ); if ( $this->active ) { add_filter( 'ocean_head_css', array( $this, 'head_css' ), 15 ); add_filter( 'ocean_typography_settings', array( $this, 'typography_settings' ), 15 ); add_action( 'customize_preview_init', array( $this, 'customize_preview_js' ) ); } } /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ public function customize_preview_js() { wp_enqueue_script( 'preloader-customizer', OE_URL . 'includes/preloader/assets/js/customize-preview.min.js', array( 'customize-preview' ), OE_VERSION, true ); } /** * Customizer options */ public function customizer_options( $wp_customize ) { /** * Add a new section */ $section = 'oceanwp_preloader'; $wp_customize->add_section( $section, array( 'title' => esc_html__('Preloader', 'ocean-extra'), 'priority' => 15, 'panel' => 'ocean_general_panel', ) ); /** * Enable Preloader */ $wp_customize->add_setting( 'ocean_preloader_enable', array( 'default' => false, 'sanitize_callback' => 'oceanwp_sanitize_checkbox', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ocean_preloader_enable', array( 'label' => esc_html__( 'Enable OceanWP Preloader', 'ocean-extra' ), 'type' => 'checkbox', 'section' => $section, 'priority' => 10, ) ) ); /** * Preloader Type */ $wp_customize->add_setting( 'ocean_preloader_type', array( 'default' => 'default', 'sanitize_callback' => 'oceanwp_sanitize_select', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ocean_preloader_type', array( 'label' => esc_html__( 'Preloader Type', 'ocean-extra' ), 'type' => 'select', 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader', 'choices' => array( 'default' => esc_html__( 'Default', 'ocean-extra' ), 'custom' => esc_html__( 'Custom', 'ocean-extra' ), ), ) ) ); /** * Preloader Icon Type */ $wp_customize->add_setting( 'ocean_preloader_icon_type', array( 'default' => 'css', 'sanitize_callback' => 'oceanwp_sanitize_select', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ocean_preloader_icon_type', array( 'label' => esc_html__( 'Icon Type', 'ocean-extra' ), 'type' => 'select', 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_default', 'choices' => array( 'css' => esc_html__( 'CSS', 'ocean-extra' ), 'image' => esc_html__( 'Image', 'ocean-extra' ), 'logo' => esc_html__( 'Logo', 'ocean-extra' ), 'svg' => esc_html__( 'SVG', 'ocean-extra' ), ), ) ) ); /** * Preloader icon */ $wp_customize->add_setting( 'ocean_preloader_default_icon', array( 'default' => 'roller', 'sanitize_callback' => 'oceanwp_sanitize_select', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ocean_preloader_default_icon', array( 'label' => esc_html__( 'Preloader Icon', 'ocean-extra' ), 'type' => 'select', 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_icon_css', 'choices' => array( 'roller' => esc_html__( 'Roller', 'ocean-extra' ), 'circle' => esc_html__( 'Circle', 'ocean-extra' ), 'ring' => esc_html__( 'Ring', 'ocean-extra' ), 'dual-ring' => esc_html__( 'Dual Ring', 'ocean-extra' ), 'ripple-plain' => esc_html__( 'Ripple Plain', 'ocean-extra' ), 'ripple-circle' => esc_html__( 'Ripple Circle', 'ocean-extra' ), 'heart' => esc_html__( 'Heart', 'ocean-extra' ), 'ellipsis' => esc_html__( 'Ellipsis', 'ocean-extra' ), 'spinner-line' => esc_html__( 'Spinner Line', 'ocean-extra' ), 'spinner-dot' => esc_html__( 'Spinner Dot', 'ocean-extra' ), ), ) ) ); /** * Image */ $wp_customize->add_setting( 'ocean_preloader_icon_image', array( 'default' => '', 'sanitize_callback' => 'oceanwp_sanitize_image', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'ocean_preloader_icon_image', array( 'label' => esc_html__( 'Image', 'ocean-extra' ), 'description' => esc_html__( 'Upload svg, gif, png, jpg.', 'ocean-extra' ), 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_icon_image', ) ) ); /** * SVG image */ $wp_customize->add_setting( 'ocean_preloader_icon_svg', array( 'default' => '', 'sanitize_callback' => 'oceanwp_sanitize_image', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'ocean_preloader_icon_svg', array( 'label' => esc_html__( 'Upload SVG', 'ocean-extra' ), 'description' => esc_html__( 'Upload svg file here', 'ocean-extra' ), 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_icon_svg', ) ) ); if ( class_exists( 'OceanWP_Customizer_Range_Control' ) ) { /** * Image size */ $wp_customize->add_setting( 'ocean_preloader_image_size', array( 'transport' => 'postMessage', 'default' => '100', 'sanitize_callback' => false, ) ); $wp_customize->add_control( new OceanWP_Customizer_Range_Control( $wp_customize, 'ocean_preloader_image_size', array( 'label' => esc_html__( 'Size (px)', 'ocean-extra' ), 'section' => $section, 'settings' => 'ocean_preloader_image_size', 'priority' => 10, 'active_callback' => 'oe_cac_has_not_preloader_icon_css', 'input_attrs' => array( 'min' => 0, 'max' => 500, 'step' => 1, ), ) ) ); } /** * Custom content. */ $wp_customize->add_setting( 'ocean_preloader_content', array( 'default' => 'Site is Loading, Please wait...', 'sanitize_callback' => 'wp_kses_post', ) ); $wp_customize->add_control( 'ocean_preloader_content', array( 'label' => esc_html__( 'Content', 'ocean-extra' ), 'type' => 'textarea', 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_default', ) ); /** * Container Size */ $wp_customize->add_setting( 'ocean_preloader_container_width', array( 'transport' => 'postMessage', 'sanitize_callback' => 'oceanwp_sanitize_number_blank', ) ); $wp_customize->add_setting( 'ocean_preloader_container_width_tablet', array( 'transport' => 'postMessage', 'sanitize_callback' => 'oceanwp_sanitize_number_blank', ) ); $wp_customize->add_setting( 'ocean_preloader_container_width_mobile', array( 'transport' => 'postMessage', 'sanitize_callback' => 'oceanwp_sanitize_number_blank', ) ); $wp_customize->add_control( new OceanWP_Customizer_Slider_Control( $wp_customize, 'ocean_preloader_container_width', array( 'label' => esc_html__( 'Container Width (px)', 'ocean-extra' ), 'description' => esc_html__( 'Set "0" to unset or set your custom container width.', 'ocean-extra' ), 'section' => $section, 'settings' => array( 'desktop' => 'ocean_preloader_container_width', 'tablet' => 'ocean_preloader_container_width_tablet', 'mobile' => 'ocean_preloader_container_width_mobile', ), 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_default', 'input_attrs' => array( 'min' => 0, 'max' => 2000, 'step' => 1, ), ) ) ); /** * Preloader template */ $wp_customize->add_setting( 'ocean_preloader_template', array( 'default' => '0', 'sanitize_callback' => 'oceanwp_sanitize_select', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ocean_preloader_template', array( 'label' => esc_html__( 'Select Template', 'ocean-extra' ), 'type' => 'select', 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_custom', 'choices' => oceanwp_customizer_helpers( 'library' ), ) ) ); /** * Dealing with Elementor FOUC issue - Experimental */ $wp_customize->add_setting( 'ocean_preloader_elementor_fouc', array( 'default' => true, 'sanitize_callback' => 'oceanwp_sanitize_checkbox', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ocean_preloader_elementor_fouc', array( 'label' => esc_html__( 'Elementor Flickers/FOUC', 'ocean-extra' ), 'description' => esc_html__( 'Experimental (beta) feature which could potentially help resolve Elementor flicker / FOUC issues. No guarantee on resolution at this point.', 'ocean-extra' ), 'type' => 'checkbox', 'section' => $section, 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_custom', ) ) ); /** * Overlay color */ $wp_customize->add_setting( 'ocean_preloader_overlay_color', array( 'default' => '#000000', 'transport' => 'postMessage', 'sanitize_callback' => 'oceanwp_sanitize_color', ) ); $wp_customize->add_control( new OceanWP_Customizer_Color_Control( $wp_customize, 'ocean_preloader_overlay_color', array( 'label' => esc_html__( 'Overlay Color', 'ocean-extra' ), 'section' => $section, 'settings' => 'ocean_preloader_overlay_color', 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader', ) ) ); /** * Icon color */ $wp_customize->add_setting( 'ocean_preloader_icon_color', array( 'default' => '#fff', 'transport' => 'postMessage', 'sanitize_callback' => 'oceanwp_sanitize_color', ) ); $wp_customize->add_control( new OceanWP_Customizer_Color_Control( $wp_customize, 'ocean_preloader_icon_color', array( 'label' => esc_html__( 'Icon Color', 'ocean-extra' ), 'section' => $section, 'settings' => 'ocean_preloader_icon_color', 'priority' => 10, 'active_callback' => 'oe_cac_has_preloader_icon_css', ) ) ); } /** * Add typography options */ public function typography_settings( $settings ) { $settings['preloader_after_content'] = array( 'label' => esc_html__( 'Preloader Content', 'ocean-extra' ), 'target' => '.ocean-preloader--active .preloader-after-content', 'defaults' => array( 'font-size' => '20', 'color' => '#333333', 'line-height' => '1.8', 'letter-spacing' => '0.6', ), 'active_callback' => 'oe_cac_has_preloader', ); return $settings; } /** * Get CSS * * @param obj $output CSS Output. */ public function head_css( $output ) { $container_width = get_theme_mod( 'ocean_preloader_container_width' ); $container_width_tablet = get_theme_mod( 'ocean_preloader_container_width_tablet' ); $container_width_mobile = get_theme_mod( 'ocean_preloader_container_width_mobile' ); $overlay_color = get_theme_mod( 'ocean_preloader_overlay_color', '#000000' ); $icon_color = get_theme_mod( 'ocean_preloader_icon_color', '#fff' ); $image_size = get_theme_mod( 'ocean_preloader_image_size', '100' ); $css = ''; if ( ! empty( $overlay_color ) && '#000000' !== $overlay_color ) { $css .= '.ocean-preloader--active #ocean-preloader{background-color:' . $overlay_color . ';}'; } if ( 'default' === $this->type ) { if ( ! empty( $container_width ) ) { $css .= '.ocean-preloader--active .preloader-inner{width:' . $container_width . 'px;}'; } if ( ! empty( $container_width_tablet ) ) { $css .= '@media (max-width: 768px){.ocean-preloader--active .preloader-inner{width:' . $container_width_tablet . 'px;}}'; } if ( ! empty( $container_width_mobile ) ) { $css .= '@media (max-width: 480px){.ocean-preloader--active .preloader-inner{width:' . $container_width_mobile . 'px;}}'; } if ( 'css' === $this->icon_type ) { if ( ! empty( $icon_color ) && '#fff' !== $icon_color ) { if ( 'roller' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-roller div:after{background:' . $icon_color . ';}'; } if ( 'circle' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-circle > div{background:' . $icon_color . ';}'; } if ( 'ripple-plain' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-ripple-plain div{background:' . $icon_color . ';}'; } if ( 'ripple-circle' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-ripple-circle div{border-color:' . $icon_color . ';}'; } if ( 'ring' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-ring div{border-top-color:' . $icon_color . ';}'; } if ( 'dual-ring' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-dual-ring:after{border-top-color:' . $icon_color . ';}'; $css .= '.ocean-preloader--active .preloader-dual-ring:after{border-bottom-color:' . $icon_color . ';}'; } if ( 'heart' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-heart div, .ocean-preloader--active .preloader-heart div::after, .ocean-preloader--active .preloader-heart div::before{background:' . $icon_color . ';}'; } if ( 'ellipsis' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-ellipsis div{background:' . $icon_color . ';}'; } if ( 'spinner-dot' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-spinner-dot div{background:' . $icon_color . ';}'; } if ( 'spinner-line' === $this->icon ) { $css .= '.ocean-preloader--active .preloader-spinner-line div:after{background:' . $icon_color . ';}'; } } } if ( ! empty( $image_size ) && '100' !== $image_size ) { if ( 'image' === $this->icon_type ) { $css .= '.ocean-preloader--active .preloader-image {max-width:' . $image_size . 'px;}'; } if ( 'logo' === $this->icon_type ) { $css .= '.ocean-preloader--active .preloader-logo {max-width:' . $image_size . 'px;}'; } if ( 'svg' === $this->icon_type ) { $css .= '.ocean-preloader--active .preloader-svg svg {width:' . $image_size . 'px; height:' . $image_size . 'px}'; } } } // Return CSS. if ( ! empty( $css ) ) { $output .= '/* OceanWP Preloader CSS */' . $css; } // Return output css. return $output; } } new Ocean_Preloader_Customizer(); /** * Callback function */ function oe_cac_has_preloader() { if ( true === get_theme_mod( 'ocean_preloader_enable', false ) ) { return true; } else { return false; } return false; } /** * Callback function */ function oe_cac_has_preloader_default() { if ( true === get_theme_mod( 'ocean_preloader_enable', false ) && 'default' === get_theme_mod( 'ocean_preloader_type', 'default' ) ) { return true; } else { return false; } return false; } /** * Callback function */ function oe_cac_has_preloader_custom() { if ( true === get_theme_mod( 'ocean_preloader_enable', false ) && 'custom' === get_theme_mod( 'ocean_preloader_type', 'default' ) ) { return true; } else { return false; } return false; } /** * Callback function */ function oe_cac_has_preloader_icon_css() { if ( true === get_theme_mod( 'ocean_preloader_enable', false ) && 'default' === get_theme_mod( 'ocean_preloader_type', 'default' ) && 'css' === get_theme_mod( 'ocean_preloader_icon_type', 'css' ) ) { return true; } else { return false; } return false; } /** * Callback function */ function oe_cac_has_preloader_icon_image() { if ( true === get_theme_mod( 'ocean_preloader_enable', false ) && 'default' === get_theme_mod( 'ocean_preloader_type', 'default' ) && 'image' === get_theme_mod( 'ocean_preloader_icon_type', 'css' ) ) { return true; } else { return false; } return false; } /** * Callback function */ function oe_cac_has_not_preloader_icon_css() { if ( true === get_theme_mod( 'ocean_preloader_enable', false ) && 'default' === get_theme_mod( 'ocean_preloader_type', 'default' ) && 'css' !== get_theme_mod( 'ocean_preloader_icon_type', 'css' ) ) { return true; } else { return false; } return false; } /** * Callback function */ function oe_cac_has_preloader_icon_svg() { if ( true === get_theme_mod( 'ocean_preloader_enable', false ) && 'default' === get_theme_mod( 'ocean_preloader_type', 'default' ) && 'svg' === get_theme_mod( 'ocean_preloader_icon_type', 'css' ) ) { return true; } else { return false; } return false; }