| Server IP : 146.59.209.152 / Your IP : 216.73.216.46 Web Server : Apache System : Linux webm005.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 User : infrafs ( 43850) PHP Version : 8.2.29 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/infrafs/www/wp-content/themes/trackstore/framework/modules/header/ |
Upload File : |
<?php
if ( ! function_exists( 'trackstore_elated_include_header_types' ) ) {
/**
* Load's all header types by going through all folders that are placed directly in header types folder
*/
function trackstore_elated_include_header_types() {
foreach ( glob( ELATED_FRAMEWORK_HEADER_ROOT_DIR . '/types/*/load.php' ) as $module_load ) {
include_once $module_load;
}
}
add_action( 'init', 'trackstore_elated_include_header_types', 0 ); // 0 is set so we can be able to register widgets for header types because of widget_ini action
}
if ( ! function_exists( 'trackstore_elated_include_header_types_before_load' ) ) {
/**
* Load's all header types before load files by going through all folders that are placed directly in header types folder.
* Functions from this files before-load are used to set all hooks and variables before global options map are init
*/
function trackstore_elated_include_header_types_before_load() {
foreach ( glob( ELATED_FRAMEWORK_HEADER_ROOT_DIR . '/types/*/before-load.php' ) as $module_load ) {
include_once $module_load;
}
}
add_action( 'trackstore_elated_options_map', 'trackstore_elated_include_header_types_before_load', 1 ); // 1 is set to just be before header option map init
}
if ( ! function_exists( 'trackstore_elated_include_header_types_after_load' ) ) {
/**
* Load's all header types after load files by going through all folders that are placed directly in header types folder.
* Functions from this files after-load are used to set all hooks that are used for header types options and template files
*/
function trackstore_elated_include_header_types_after_load() {
foreach ( glob( ELATED_FRAMEWORK_HEADER_ROOT_DIR . '/types/*/after-load.php' ) as $module_load ) {
include_once $module_load;
}
}
add_action( 'wp', 'trackstore_elated_include_header_types_after_load', 11 ); // 11 is set to be after wp query loaded to be sure that object id is set
}
if ( ! function_exists( 'trackstore_elated_include_custom_walker_navigation_for_header_types' ) ) {
/**
* Load's all custom walkers navigation from header types folder
*/
function trackstore_elated_include_custom_walker_navigation_for_header_types() {
foreach ( glob( ELATED_FRAMEWORK_HEADER_ROOT_DIR . '/types/*/nav-menu/*.php' ) as $module_load ) {
include_once $module_load;
}
}
add_action( 'trackstore_elated_include_custom_walkers_nav', 'trackstore_elated_include_custom_walker_navigation_for_header_types' );
}
if ( ! function_exists( 'trackstore_elated_header_register_main_navigation' ) ) {
/**
* Registers main navigation
*/
function trackstore_elated_header_register_main_navigation() {
$headers_menu_array = apply_filters( 'trackstore_elated_register_headers_menu', array( 'main-navigation' => esc_html__( 'Main Navigation', 'trackstore' ) ) );
register_nav_menus( $headers_menu_array );
}
add_action( 'init', 'trackstore_elated_header_register_main_navigation' );
}
if ( ! function_exists( 'trackstore_elated_header_widget_areas' ) ) {
/**
* Registers widget areas for header types
*/
function trackstore_elated_header_widget_areas() {
if ( trackstore_elated_core_plugin_installed() ) {
register_sidebar(
array(
'id' => 'eltd-header-widget-menu-area',
'name' => esc_html__('Header Widget Menu Area', 'trackstore'),
'before_widget' => '<div id="%1$s" class="widget %2$s eltd-header-widget-menu-area">',
'after_widget' => '</div>',
'description' => esc_html__('Widgets added here will appear in the menu area', 'trackstore')
)
);
}
}
add_action( 'widgets_init', 'trackstore_elated_header_widget_areas' );
}
if ( ! function_exists( 'trackstore_elated_get_header_type_meta_values' ) ) {
/**
* Function which get all meta values from database for header types
*/
function trackstore_elated_get_header_type_meta_values() {
global $wpdb;
global $eltd_header_types_values;
if ( trackstore_elated_is_wpml_installed() ) {
$lang = ICL_LANGUAGE_CODE;
$sql = "SELECT pm.meta_value
FROM {$wpdb->prefix}postmeta pm
LEFT JOIN {$wpdb->prefix}posts p ON p.ID = pm.post_id
LEFT JOIN {$wpdb->prefix}icl_translations icl_t ON icl_t.element_id = p.ID
WHERE pm.meta_key = 'eltd_header_type_meta'
AND icl_t.language_code='$lang'";
} else {
$sql = "SELECT pm.meta_value
FROM {$wpdb->prefix}postmeta pm
WHERE pm.meta_key = 'eltd_header_type_meta'";
}
$results = $wpdb->get_results( $sql, ARRAY_A );
if ( ! ( is_array( $results ) && count( $results ) ) ) {
$eltd_header_types_values = false;
} else {
$results_array = array();
foreach ( $results as $result ) {
foreach ( $result as $value ) {
$results_array[] = $value;
}
}
$eltd_header_types_values = $results_array;
}
}
add_action( 'after_setup_theme', 'trackstore_elated_get_header_type_meta_values', 2 ); // privileges 2 is set because load.php files for modules are init with privileges 1
}
if ( ! function_exists( 'trackstore_elated_check_is_header_type_enabled' ) ) {
/**
* This function check is forwarded header type enabled in global option or meta boxes option
*/
function trackstore_elated_check_is_header_type_enabled( $header_type = '', $page_id = '' ) {
global $eltd_header_types_values;
$per_page_header_types = $eltd_header_types_values;
if ( ! empty( $page_id ) ) {
$global_header_type = trackstore_elated_get_meta_field_intersect( 'header_type', $page_id );
} else {
$global_header_type = trackstore_elated_options()->getOptionValue( 'header_type' );
}
if ( ! empty( $per_page_header_types ) && empty( $page_id ) ) {
return in_array( $header_type, $per_page_header_types ) || $header_type === $global_header_type;
} else {
return $global_header_type === $header_type;
}
}
}