HEX
Server: LiteSpeed
System: Linux cde2.duelhost.dk 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
User: dtptviut (1121)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,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/dtptviut/domains/teleweb.dk/public_html/wp-content/plugins/w3-total-cache/DbCache_Wpdb.php
<?php
/**
 * File: DbCache_Plugin_Admin.php
 *
 * @package W3TC
 */

namespace W3TC;

/**
 * Class DbCache_Wpdb
 *
 * Database access mediator
 */
class DbCache_Wpdb extends DbCache_WpdbBase {
	/**
	 * Returns the singleton instance of the class.
	 *
	 * Ensures only one instance of the class is created and provides access to it.
	 *
	 * @return DbCache_WpdbNew The instance of the class.
	 */
	public static function instance() {
		static $instance = null;

		if ( is_null( $instance ) ) {
			$processors               = array();
			$call_default_constructor = true;

			// no caching during activation.
			$w3tc_is_installing = ( defined( 'WP_INSTALLING' ) && WP_INSTALLING );

			$w3tc_config = Dispatcher::config();
			if ( ! $w3tc_is_installing && $w3tc_config->get_boolean( 'dbcache.enabled' ) ) {
				$processors[] = new DbCache_WpdbInjection_QueryCaching();
			}
			if ( Util_Environment::is_dbcluster( $w3tc_config ) ) {
				// dbcluster use mysqli only since other is obsolete now.
				if ( ! defined( 'WP_USE_EXT_MYSQL' ) ) {
					define( 'WP_USE_EXT_MYSQL', false ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound
				}

				$processors[] = new Enterprise_Dbcache_WpdbInjection_Cluster();
			}

			$processors[] = new DbCache_WpdbInjection();

			$w3tc_o = new DbCache_WpdbNew( $processors );

			$next_injection = new _CallUnderlying( $w3tc_o );

			foreach ( $processors as $processor ) {
				$processor->initialize_injection( $w3tc_o, $next_injection );
			}

			// initialize after processors configured.
			$w3tc_o->initialize();

			$instance = $w3tc_o;
		}

		return $instance;
	}
}