| Server IP : 62.60.133.156 / Your IP : 216.73.217.51 Web Server : LiteSpeed System : Linux linux24.centraldnserver.com 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64 User : mimradmin ( 1166) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, exec, popen, proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/mimradmin/www/wp-content/themes/woodmart/inc/modules/header-builder/ |
Upload File : |
<?php
/**
* Header builder class file.
*
* @package woodmart
*/
namespace XTS\Modules;
use XTS\Modules\Header_Builder\Elements;
use XTS\Modules\Header_Builder\Header_Factory;
use XTS\Modules\Header_Builder\Headers_List;
use XTS\Modules\Header_Builder\Manager;
use XTS\Singleton;
if ( ! defined( 'WOODMART_THEME_DIR' ) ) {
exit( 'No direct script access allowed' );
}
/**
* Include all required files, define constants
*/
class Header_Builder extends Singleton {
/**
* Elements object classes.
*
* @var null
*/
public $elements = null;
/**
* Header list.
*
* @var null
*/
public $list = null;
/**
* Header factory object class.
*
* @var null
*/
public $factory = null;
/**
* Header manager object class.
*
* @var null
*/
public $manager = null;
/**
* Init.
*/
protected function init() {
$this->define_constants();
$this->include_files();
$this->init_classes();
}
/**
* Define constants.
*
* @return void
*/
private function define_constants() {
define( 'WOODMART_HB_DEFAULT_ID', 'default_header' );
define( 'WOODMART_HB_DEFAULT_NAME', 'Default header layout' );
define( 'WOODMART_HB_DIR', get_template_directory() . '/inc/modules/header-builder/' );
define( 'WOODMART_HB_TEMPLATES', get_template_directory() . '/header-elements/' );
}
/**
* Include files.
*
* @return void
*/
private function include_files() {
$classes = array(
'class-frontend',
'class-manager',
'class-header-factory',
'class-headers-list',
'class-header',
'class-elements',
'class-styles',
);
if ( ( current_user_can( 'manage_options' ) && woodmart_is_header_frontend_editor() ) || is_admin() ) {
$classes[] = 'class-backend';
}
foreach ( $classes as $class ) {
require_once WOODMART_HB_DIR . $class . '.php';
}
}
/**
* Init classes.
*
* @return void
*/
private function init_classes() {
$this->elements = new Elements();
$this->list = new Headers_List();
$this->factory = new Header_Factory( $this->elements );
$this->manager = new Manager( $this->factory, $this->list );
}
}
Header_Builder::get_instance();