HEX
Server: Apache/2
System: Linux saturn 4.18.0-477.15.1.lve.2.el8.x86_64 #1 SMP Wed Aug 2 10:43:45 UTC 2023 x86_64
User: centuryt (1072)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/centuryt/public_html/wp-content/themes/rufous/lib/colibriwp/src/Customizer/PanelFactory.php
<?php


namespace ColibriWP\Theme\Customizer;

use ColibriWP\Theme\Customizer\Panel\ColibriPanel;
use WP_Customize_Panel;

class PanelFactory {
	private static $panels = array(
		'colibri_panel' => ColibriPanel::class,

	);

	private static $register_exclusion = array();
	private static $registered         = false;

	public static function make( $id, $data ) {

		$data = array_merge(
			array(
				'type' => 'default',
			),
			$data
		);

		$class = static::getClassByType( $data['type'] );

		global $wp_customize;

		unset( $data['type'] );

		$panel = new $class( $wp_customize, $id, $data );
		$wp_customize->add_panel( $panel );

		return $panel;
	}

	private static function register() {
		if ( ! static::$registered ) {

			foreach ( static::$panels as $key => $panel ) {
				global $wp_customize;

				if ( ! in_array( $key, static::$register_exclusion ) ) {
					$wp_customize->register_panel_type( $panel );
				}
			}

			static::$registered = true;
		}
	}

	private static function getClassByType( $type ) {

		static::register();

		$class = isset( static::$panels[ $type ] ) ? static::$panels [ $type ] : WP_Customize_Panel::class;

		return $class;
	}
}