1
0
Fork 0

Migrate distributed cache config value

This commit is contained in:
Philipp Holzer 2021-12-14 10:14:24 +01:00
commit 6ca5668ac1
Signed by: nupplaPhil
GPG key ID: 24A7501396EB5432
5 changed files with 37 additions and 7 deletions

View file

@ -96,8 +96,8 @@ class ConfigFileLoader
public function setupCache(Cache $config, array $server = [], bool $raw = false)
{
// Load static config files first, the order is important
$config->load($this->loadStaticConfig('defaults'), Cache::SOURCE_FILE);
$config->load($this->loadStaticConfig('settings'), Cache::SOURCE_FILE);
$config->load($this->loadStaticConfig('defaults'), Cache::SOURCE_STATIC);
$config->load($this->loadStaticConfig('settings'), Cache::SOURCE_STATIC);
// try to load the legacy config first
$config->load($this->loadLegacyConfig('htpreconfig'), Cache::SOURCE_FILE);

View file

@ -31,14 +31,16 @@ use ParagonIE\HiddenString\HiddenString;
*/
class Cache
{
/** @var int Indicates that the cache entry is a default value - Lowest Priority */
const SOURCE_STATIC = 0;
/** @var int Indicates that the cache entry is set by file - Low Priority */
const SOURCE_FILE = 0;
const SOURCE_FILE = 1;
/** @var int Indicates that the cache entry is set by the DB config table - Middle Priority */
const SOURCE_DB = 1;
const SOURCE_DB = 2;
/** @var int Indicates that the cache entry is set by a server environment variable - High Priority */
const SOURCE_ENV = 3;
/** @var int Indicates that the cache entry is fixed and must not be changed */
const SOURCE_FIX = 4;
const SOURCE_FIX = 5;
/** @var int Default value for a config source */
const SOURCE_DEFAULT = self::SOURCE_FILE;
@ -113,6 +115,19 @@ class Cache
}
}
/**
* Returns the source value of the current, cached config value
*
* @param string $cat Config category
* @param string $key Config key
*
* @return int
*/
public function getSource(string $cat, string $key): int
{
return $this->source[$cat][$key] ?? -1;
}
/**
* Sets a value in the config cache. Accepts raw output from the config table
*