Skip to content

Commit

Permalink
CRM-19672 - fix Settings code wierdness in some circumstances
Browse files Browse the repository at this point in the history
CRM-19672 remove test that calls removed functions.

The point of the test (& the function) was to cope with the settings stored in  which no longer exist
  • Loading branch information
eileenmcnaughton committed Mar 5, 2017
1 parent 21ce462 commit c9dbc47
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 62 deletions.
35 changes: 1 addition & 34 deletions CRM/Core/BAO/Domain.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public static function retrieve(&$params, &$defaults) {
*
* @return CRM_Core_BAO_Domain|null
*/
public static function &getDomain($reset = NULL) {
public static function getDomain($reset = NULL) {
static $domain = NULL;
if (!$domain || $reset) {
$domain = new CRM_Core_BAO_Domain();
Expand All @@ -81,39 +81,6 @@ public static function &getDomain($reset = NULL) {
return $domain;
}

/**
* Change active domain (ie. to perform a temporary action) such as changing
* config for all domains
*
* Switching around the global domain variable is very risky business. This
* is ONLY used as a hack to allow CRM_Core_BAO_Setting::setItems to manipulate
* the civicrm_domain.config_backend in multiple domains. When/if config_backend
* goes away, this hack should be removed.
*
* @param int $domainID
* Id for domain you want to set as current.
* @deprecated
* @see http://issues.civicrm.org/jira/browse/CRM-11204
*/
public static function setDomain($domainID) {
CRM_Core_Config::domainID($domainID);
self::getDomain($domainID);
CRM_Core_Config::singleton(TRUE, TRUE);
}

/**
* Reset domain to default (ie. as loaded from settings). This is the
* counterpart to CRM_Core_BAO_Domain::setDomain.
*
* @deprecated
* @see CRM_Core_BAO_Domain::setDomain
*/
public static function resetDomain() {
CRM_Core_Config::domainID(NULL, TRUE);
self::getDomain(NULL, TRUE);
CRM_Core_Config::singleton(TRUE, TRUE);
}

/**
* @param bool $skipUsingCache
*
Expand Down
7 changes: 0 additions & 7 deletions CRM/Core/BAO/Setting.php
Original file line number Diff line number Diff line change
Expand Up @@ -120,16 +120,10 @@ public static function getItems(&$params, $domains = NULL, $settingsToReturn) {
if (!empty($settingsToReturn) && !is_array($settingsToReturn)) {
$settingsToReturn = array($settingsToReturn);
}
$reloadConfig = FALSE;

$fields = $result = array();
$fieldsToGet = self::validateSettingsInput(array_flip($settingsToReturn), $fields, FALSE);
foreach ($domains as $domainID) {
if ($domainID != CRM_Core_Config::domainID()) {
$reloadConfig = TRUE;
CRM_Core_BAO_Domain::setDomain($domainID);
}
$config = CRM_Core_Config::singleton($reloadConfig, $reloadConfig);
$result[$domainID] = array();
foreach ($fieldsToGet as $name => $value) {
$contactID = CRM_Utils_Array::value('contact_id', $params);
Expand All @@ -140,7 +134,6 @@ public static function getItems(&$params, $domains = NULL, $settingsToReturn) {
$result[$domainID][$name] = $setting;
}
}
CRM_Core_BAO_Domain::resetDomain();
}
return $result;
}
Expand Down
21 changes: 0 additions & 21 deletions tests/phpunit/api/v3/SettingTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -363,27 +363,6 @@ public function testGetExtensionSetting() {
$this->assertEquals('keyset', $result);
}

/**
* Setting api should set & fetch settings stored in config as well as those in settings table
*/
public function testSetConfigSetting() {
$config = CRM_Core_Config::singleton();
$this->assertFalse($config->debug == 1);

$params = array(
'domain_id' => $this->_domainID2,
'debug_enabled' => 1,
);
$result = $this->callAPISuccess('setting', 'create', $params);

$this->assertEquals(1, Civi::settings($this->_domainID2)->get('debug_enabled'));

CRM_Core_BAO_Domain::setDomain($this->_domainID2);
$config = CRM_Core_Config::singleton(TRUE, TRUE);
CRM_Core_BAO_Domain::resetDomain();
$this->assertEquals(1, $config->debug);
}

/**
* Setting api should set & fetch settings stored in config as well as those in settings table
*/
Expand Down

0 comments on commit c9dbc47

Please sign in to comment.