$CFG->rcache is safe to keep, even as we are reading the config table.
This is because whenever we update the config table, all the rcache
plugins either mark the cache as dirty or they update the cache.
The reason we want to be able to preserve this is that rcache settings
in CFG should usually be set in config.php rather than in the config
table.
With this fix, we support both control points.
configure_dbconnection();
/// Load up any configuration from the config table
- unset($CFG->rcache);
$CFG = get_config();
/// Turn on SQL logging if required
/// Ensure we define rcache - so we can later check for it
/// with a really fast and unambiguous $CFG->rcache === false
if (!empty($CFG->cachetype)) {
- if (array_key_exists('rcache', $CFG->config_php_settings)) {
- $CFG->rcache = (bool)$CFG->config_php_settings['rcache']; // always use config.php setting if present
- } else if (empty($CFG->rcache)) {
+ if (empty($CFG->rcache)) {
$CFG->rcache = false;
} else {
$CFG->rcache = true;