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();
|
||
|
}
|
||
|
}
|