/** *Setup the magic data storage * @param array $old_config_values. If non-null set the new storage to have these magic data values * @returns boolean. True on success */ function setupMagicDataStorage($old_config_values = null) { I2CE::raiseError("Setting up magic data in I2CE Core module"); $new_config = I2CE::setupMagicData(false, true); if (!$new_config instanceof I2CE_MagicData) { I2CE::raiseError("Could not setup magic data storage"); return false; } if (is_array($old_config_values)) { // If setting from the old values it will already be stored // in the temporary storage caches so those need to be cleared // or things won't get saved in the new permanent storage so clear // them all out first. $new_config->clearCache(); $new_config->setValue($old_config_values); } I2CE::setConfig($new_config); I2CE_ModuleFactory::instance()->setStorage(); return true; }