X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FDomain.php;h=974826b30ec1755a7c5f75db66ab024d767668f4;hb=f118a5ba2e82f3423e982c02df4979c6c0922cdb;hp=166179f88fa1591cb5eef75e7de61f1145d09fc5;hpb=dd45fe3b79128ee8f38bd157f36b4a2a3e745ac8;p=civicrm-core.git diff --git a/api/v3/Domain.php b/api/v3/Domain.php index 166179f88f..974826b30e 100644 --- a/api/v3/Domain.php +++ b/api/v3/Domain.php @@ -28,17 +28,23 @@ function civicrm_api3_domain_get($params) { $params['version'] = $params['domain_version'] ?? NULL; unset($params['version']); - $bao = new CRM_Core_BAO_Domain(); if (!empty($params['current_domain'])) { - $domainBAO = CRM_Core_Config::domainID(); - $params['id'] = $domainBAO; + $params['id'] = CRM_Core_Config::domainID(); } if (!empty($params['options']) && !empty($params['options']['is_count'])) { return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params); } - _civicrm_api3_dao_set_filter($bao, $params, TRUE); - $domains = _civicrm_api3_dao_to_array($bao, $params, TRUE, 'Domain'); + // If requesting current domain, read from cache + if (!empty($params['id']) && $params['id'] == CRM_Core_Config::domainID()) { + $bao = CRM_Core_BAO_Domain::getDomain(); + $domains = [$params['id'] => $bao->toArray()]; + } + else { + $bao = new CRM_Core_BAO_Domain(); + _civicrm_api3_dao_set_filter($bao, $params, TRUE); + $domains = _civicrm_api3_dao_to_array($bao, $params, TRUE, 'Domain'); + } foreach ($domains as $domain) { if (!empty($domain['contact_id'])) {