50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace W3TC;
 | 
						|
 | 
						|
/**
 | 
						|
 * Used to show notes at blog-level when master configs are changed
 | 
						|
 *
 | 
						|
 * keys - see ConfigState comment with a list of keys with "timestamp" word
 | 
						|
 */
 | 
						|
class ConfigStateNote {
 | 
						|
	private $_config_state_master;
 | 
						|
	private $_config_state;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Constructor
 | 
						|
	 */
 | 
						|
	public function __construct( $config_state_master, $config_state ) {
 | 
						|
		$this->_config_state_master = $config_state_master;
 | 
						|
		$this->_config_state = $config_state;
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Returns value
 | 
						|
	 *
 | 
						|
	 * @param string  $key
 | 
						|
	 * @param string  $default
 | 
						|
	 * @return mixed
 | 
						|
	 */
 | 
						|
	public function get( $key ) {
 | 
						|
		$timestamp = $this->_config_state->get_integer( $key . '.timestamp' );
 | 
						|
		$timestamp_master = $this->_config_state_master->get_integer(
 | 
						|
			$key . '.timestamp' );
 | 
						|
 | 
						|
		if ( $timestamp > $timestamp_master )
 | 
						|
			return $this->_config_state->get_boolean( $key );
 | 
						|
		else
 | 
						|
			return $this->_config_state_master->get_boolean( $key );
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Sets flag to true/false
 | 
						|
	 */
 | 
						|
	public function set( $key, $value ) {
 | 
						|
		$this->_config_state->set( $key, $value );
 | 
						|
		$this->_config_state->set( $key . '.timestamp', time() );
 | 
						|
		$this->_config_state->save();
 | 
						|
	}
 | 
						|
}
 |