| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.9/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();