HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.34
System: Linux atalantini.com 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64
User: root (0)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: //opt/plugins/w3-total-cache/ConfigUtil.php
<?php
namespace W3TC;

class ConfigUtil {
	static public function is_item_exists( $blog_id, $preview ) {
		if ( defined( 'W3TC_CONFIG_DATABASE' ) && W3TC_CONFIG_DATABASE ) {
			return ConfigDbStorage::is_item_exists( $blog_id, $preview );
		}

		return file_exists( Config::util_config_filename( 0, false ) );
	}



	static public function remove_item( $blog_id, $preview ) {
		if ( defined( 'W3TC_CONFIG_DATABASE' ) && W3TC_CONFIG_DATABASE ) {
			ConfigDbStorage::remove_item( $blog_id, $preview );
		} else {
			$filename = Config::util_config_filename( $blog_id, $preview );
			@unlink( $filename );
		}

		if ( defined( 'W3TC_CONFIG_CACHE_ENGINE' ) ) {
			ConfigCache::remove_item( $blog_id, $preview );
		}
	}



	/**
	 * Deploys the config file from a preview config file
	 *
	 * @param integer $direction     +1: preview->production
	 *                           -1: production->preview
	 * @param boolean $remove_source remove source file
	 */
	static public function preview_production_copy( $blog_id, $direction ) {
		if ( defined( 'W3TC_CONFIG_DATABASE' ) && W3TC_CONFIG_DATABASE ) {
			ConfigDbStorage::preview_production_copy( $blog_id, $direction );
		} else {
			$preview_filename = Config::util_config_filename( $blog_id, true );
			$production_filename = Config::util_config_filename( $blog_id, false );

			if ( $direction > 0 ) {
				$src = $preview_filename;
				$dest = $production_filename;
			} else {
				$src = $production_filename;
				$dest = $preview_filename;
			}

			if ( !@copy( $src, $dest ) ) {
				Util_Activation::throw_on_write_error( $dest );
			}
		}

		if ( defined( 'W3TC_CONFIG_CACHE_ENGINE' ) ) {
			ConfigCache::remove_item( $blog_id, $preview );
		}
	}



	static public function save_item( $blog_id, $preview, $data ) {
		if ( defined( 'W3TC_CONFIG_DATABASE' ) && W3TC_CONFIG_DATABASE ) {
			ConfigDbStorage::save_item( $blog_id, $preview, $data );
		} else {
			$filename = Config::util_config_filename( $blog_id, $preview );
			if ( defined( 'JSON_PRETTY_PRINT' ) )
				$config = json_encode( $data, JSON_PRETTY_PRINT );
			else   // for older php versions
				$config = json_encode( $data );

			Util_File::file_put_contents_atomic( $filename, '<?php exit; ?>' . $config );
		}

		if ( defined( 'W3TC_CONFIG_CACHE_ENGINE' ) ) {
			ConfigCache::remove_item( $blog_id, $preview );
		}
	}
}