fixed setup uses cached config values for installs with multiple instances

This commit is contained in:
Ralf Becker 2014-05-13 15:53:35 +00:00
parent 134ef05744
commit b25724e7ed
3 changed files with 6 additions and 6 deletions

View File

@ -390,13 +390,13 @@ class config
public static function init_static() public static function init_static()
{ {
// we use a reference here (no clone), as we no longer use egw_db::row() or egw_db::next_record()! // we use a reference here (no clone), as we no longer use egw_db::row() or egw_db::next_record()!
if (is_object($GLOBALS['egw']->db)) if (isset($GLOBALS['egw_setup']) && is_a($GLOBALS['egw_setup']->db, 'egw_db'))
{ {
config::$db = $GLOBALS['egw']->db; self::$db = $GLOBALS['egw_setup']->db;
} }
else else
{ {
config::$db = $GLOBALS['egw_setup']->db; self::$db = $GLOBALS['egw']->db;
} }
// if item is not cached or cache is not looking alright --> query config from database // if item is not cached or cache is not looking alright --> query config from database
if (!(self::$configs = egw_cache::getInstance(__CLASS__, 'configs')) || !is_array(self::$configs['phpgwapi'])) if (!(self::$configs = egw_cache::getInstance(__CLASS__, 'configs')) || !is_array(self::$configs['phpgwapi']))

View File

@ -624,7 +624,7 @@ class egw_cache
{ {
static $bases = array(); static $bases = array();
if (!isset($bases[$level])) if (!isset($bases[$level]) || $level == self::INSTANCE && $bases[$level] != self::$instance_key)
{ {
switch($level) switch($level)
{ {

View File

@ -123,7 +123,7 @@ class setup_process
case 'new': case 'new':
/* Create tables and insert new records for each app in this list */ /* Create tables and insert new records for each app in this list */
$passing = $this->current($pass,$DEBUG); $passing = $this->current($pass,$DEBUG);
$this->save_minimal_config($preset_config); if (isset($pass['phpgwapi'])) $this->save_minimal_config($preset_config);
$passing = $this->default_records($passing,$DEBUG); $passing = $this->default_records($passing,$DEBUG);
break; break;
case 'upgrade': case 'upgrade':
@ -297,7 +297,7 @@ class setup_process
// so the default_records use the current data // so the default_records use the current data
$GLOBALS['egw_info']['server'] = array_merge((array)$GLOBALS['egw_info']['server'], $current_config); $GLOBALS['egw_info']['server'] = array_merge((array)$GLOBALS['egw_info']['server'], $current_config);
egw_cache::generate_instance_key(); // generate instance-key flushes whole instance cache egw_cache::flush(); // flush whole instance cache
config::init_static(); // flush internal cache of config class config::init_static(); // flush internal cache of config class
$GLOBALS['egw_setup']->setup_account_object($current_config); $GLOBALS['egw_setup']->setup_account_object($current_config);
} }