File: /home/dailygoldindex/public_html/wp-content/themes/jnews/class/HeaderBuilder.php
<?php
/**
* @author : Jegtheme
*/
namespace JNews;
/**
* Class JNews Header Builder
*/
Class HeaderBuilder {
/**
* @var HeaderBuilder
*/
private static $instance;
/**
* @return HeaderBuilder
*/
public static function getInstance() {
if ( null === static::$instance ) {
static::$instance = new static();
}
return static::$instance;
}
private function __construct() {
add_action( 'customize_controls_print_footer_scripts', array( $this, 'header_builder_html' ) );
add_action( 'customize_controls_enqueue_scripts', array( $this, 'header_builder_js' ) );
}
public function header_builder_js() {
wp_enqueue_style( 'jnews-header-builder', get_parent_theme_file_uri( 'assets/css/admin/header-builder.css' ) );
wp_enqueue_script( 'jnews-header-builder', get_parent_theme_file_uri( 'assets/js/admin/header-builder.js' ), array(
'jquery',
'jeg-default-control',
'jeg-preset-control'
), null, true );
}
public function header_builder_html() {
$template = new Template( JNEWS_THEME_DIR . 'class/template/' );
$template->render( 'header-builder', array( 'template' => $template ), true );
}
public static function desktop_header_element() {
return array(
'dark_mode' => esc_html__( 'Dark Mode', 'jnews' ),
'top_bar_menu' => esc_html__( 'Top Bar Menu', 'jnews' ),
'social_icon' => esc_html__( 'Social Icon', 'jnews' ),
'nav_icon' => esc_html__( 'Nav Icon', 'jnews' ),
'date' => esc_html__( 'Date', 'jnews' ),
'logo' => esc_html__( 'Logo', 'jnews' ),
'ads' => esc_html__( 'Advertisement', 'jnews' ),
'main_menu' => esc_html__( 'Main Menu', 'jnews' ),
'search_icon' => esc_html__( 'Search Icon', 'jnews' ),
'search_form' => esc_html__( 'Search Form', 'jnews' ),
'cart_icon' => esc_html__( 'Cart Icon', 'jnews' ),
'cart_detail' => esc_html__( 'Cart Detail', 'jnews' ),
'weather' => esc_html__( 'Weather', 'jnews' ),
'login' => esc_html__( 'Login', 'jnews' ),
'language' => esc_html__( 'Language Switcher', 'jnews' ),
'separator1' => esc_html__( '|', 'jnews' ),
'separator2' => esc_html__( '|', 'jnews' ),
'separator3' => esc_html__( '|', 'jnews' ),
'separator4' => esc_html__( '|', 'jnews' ),
'separator5' => esc_html__( '|', 'jnews' ),
'html1' => esc_html__( 'HTML Element 1', 'jnews' ),
'html2' => esc_html__( 'HTML Element 2', 'jnews' ),
'html3' => esc_html__( 'HTML Element 3', 'jnews' ),
'html4' => esc_html__( 'HTML Element 4', 'jnews' ),
'html5' => esc_html__( 'HTML Element 5', 'jnews' ),
'button1' => esc_html__( 'Button 1', 'jnews' ),
'button2' => esc_html__( 'Button 2', 'jnews' ),
'button3' => esc_html__( 'Button 3', 'jnews' ),
'verticalmenu1' => esc_html__( 'Vertical Menu 1', 'jnews' ),
'verticalmenu2' => esc_html__( 'Vertical Menu 2', 'jnews' ),
'verticalmenu3' => esc_html__( 'Vertical Menu 3', 'jnews' ),
'verticalmenu4' => esc_html__( 'Vertical Menu 4', 'jnews' ),
);
}
public static function mobile_header_element() {
return array(
'dark_mode' => esc_html__( 'Dark Mode', 'jnews' ),
'logo' => esc_html__( 'Logo', 'jnews' ),
'nav_icon' => esc_html__( 'Nav Icon', 'jnews' ),
'search_icon' => esc_html__( 'Search Icon', 'jnews' ),
'top_bar_menu' => esc_html__( 'Top Bar Menu', 'jnews' ),
'html' => esc_html__( 'Mobile HTML', 'jnews' ),
'buttonmobile' => esc_html__( 'Mobile Button', 'jnews' ),
);
}
public static function mobile_drawer_element() {
return array(
'account' => esc_html__( 'Account', 'jnews' ),
'footer_copyright' => esc_html__( 'Footer Copyright', 'jnews' ),
'mobile_menu' => esc_html__( 'Mobile Menu', 'jnews' ),
'search_form' => esc_html__( 'Search Form', 'jnews' ),
'social_icon' => esc_html__( 'Social Icon', 'jnews' ),
'language' => esc_html__( 'Language', 'jnews' ),
);
}
public static function remain_desktop( $setting_prefix ) {
$all_element = self::desktop_header_element();
$rows_desktop = array( 'top', 'mid', 'bottom' );
$columns_desktop = array( 'left', 'center', 'right' );
if ( $setting_prefix === 'jnews_hb_element_desktop_sticky' ) {
$rows_desktop = array( 'mid' );
}
foreach ( $rows_desktop as $row ) {
foreach ( $columns_desktop as $column ) {
$setting_element = "{$setting_prefix}_{$row}_{$column}";
$default_element = get_theme_mod( $setting_element, array() );
if ( is_array( $default_element ) ) {
foreach ( $default_element as $element ) {
unset( $all_element[ $element ] );
}
}
}
}
return $all_element;
}
public static function remain_desktop_header_element() {
return self::remain_desktop( 'jnews_hb_element_desktop' );
}
public static function remain_sticky_header_element() {
return self::remain_desktop( 'jnews_hb_element_desktop_sticky' );
}
public static function remain_mobile_header_element() {
$all_element = self::mobile_header_element();
$blocks = array(
'top' => array( 'center' ),
'mid' => array( 'left', 'center', 'right' ),
);
foreach ( $blocks as $row => $columns ) {
foreach ( $columns as $column ) {
$setting_element = "jnews_hb_element_mobile_{$row}_{$column}";
$default_element = get_theme_mod( $setting_element, array() );
if ( is_array( $default_element ) ) {
foreach ( $default_element as $element ) {
unset( $all_element[ $element ] );
}
}
}
}
return $all_element;
}
public static function remain_mobile_drawer_element() {
$all_element = self::mobile_drawer_element();
$blocks = array(
'top' => array( 'center' ),
'bottom' => array( 'center' ),
);
foreach ( $blocks as $row => $columns ) {
foreach ( $columns as $column ) {
$setting_element = "jnews_hb_element_mobile_drawer_{$row}_{$column}";
$default_element = get_theme_mod( $setting_element, array() );
if ( is_array( $default_element ) ) {
foreach ( $default_element as $element ) {
unset( $all_element[ $element ] );
}
}
}
}
return $all_element;
}
}