You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.8 KiB
66 lines
1.8 KiB
<?php if ( ! defined('WOODMART_THEME_DIR')) exit('No direct script access allowed');
|
|
|
|
/**
|
|
* ------------------------------------------------------------------------------------------------
|
|
* Include all required files, define constants
|
|
* ------------------------------------------------------------------------------------------------
|
|
*/
|
|
|
|
if( ! class_exists( 'WOODMART_Header_Builder' ) ) {
|
|
class WOODMART_Header_Builder {
|
|
|
|
protected static $_instance = null;
|
|
|
|
public $elements = null;
|
|
public $list = null;
|
|
public $factory = null;
|
|
public $manager = null;
|
|
|
|
protected function __construct() {
|
|
$this->_define_constants();
|
|
$this->_include_files();
|
|
$this->_init_classes();
|
|
}
|
|
|
|
protected function __clone() {}
|
|
|
|
static public function get_instance() {
|
|
|
|
if( is_null( self::$_instance ) ) {
|
|
self::$_instance = new self();
|
|
}
|
|
|
|
return self::$_instance;
|
|
}
|
|
|
|
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/');
|
|
}
|
|
|
|
private function _include_files() {
|
|
$classes = array(
|
|
'Manager',
|
|
'HeaderFactory',
|
|
'HeadersList',
|
|
'Header',
|
|
'Elements',
|
|
'Styles',
|
|
);
|
|
|
|
foreach ( $classes as $class ) {
|
|
require_once WOODMART_HB_DIR . $class . '.php';
|
|
}
|
|
}
|
|
|
|
private function _init_classes() {
|
|
$this->elements = new WOODMART_HB_Elements();
|
|
$this->list = new WOODMART_HB_HeadersList();
|
|
$this->factory = new WOODMART_HB_HeaderFactory( $this->elements, $this->list );
|
|
$this->manager = new WOODMART_HB_Manager( $this->factory, $this->list );
|
|
}
|
|
|
|
}
|
|
}
|
|
|