_config_state_master = $config_state_master; $this->_config_state = $w3tc_config_state; } /** * Retrieves a configuration value for a given key, considering timestamps. * * @param string $w3tc_key The key for which to retrieve the configuration value. * * @return bool The boolean value of the configuration for the given key. */ public function get( $w3tc_key ) { $timestamp = $this->_config_state->get_integer( $w3tc_key . '.timestamp' ); $timestamp_master = $this->_config_state_master->get_integer( $w3tc_key . '.timestamp' ); if ( $timestamp > $timestamp_master ) { return $this->_config_state->get_boolean( $w3tc_key ); } else { return $this->_config_state_master->get_boolean( $w3tc_key ); } } /** * Sets a configuration value and updates its timestamp. * * @param string $w3tc_key The key for which to set the configuration value. * @param mixed $w3tc_value The value to set for the given key. * * @return void */ public function set( $w3tc_key, $w3tc_value ) { $this->_config_state->set( $w3tc_key, $w3tc_value ); $this->_config_state->set( $w3tc_key . '.timestamp', time() ); $this->_config_state->save(); } }