X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FOptionGroup.php;h=0b2b3653d5477804db367163004692b7005f0f61;hb=82a7f74580e2d0d5197766666bccd7273a2c96ee;hp=6215f8e6906c8c274ec192e6f5352ba3d76edc6e;hpb=7373a48fb266faf1c949c753a1ebd07a9a4cec5e;p=civicrm-core.git diff --git a/CRM/Core/OptionGroup.php b/CRM/Core/OptionGroup.php index 6215f8e690..0b2b3653d5 100644 --- a/CRM/Core/OptionGroup.php +++ b/CRM/Core/OptionGroup.php @@ -21,6 +21,8 @@ class CRM_Core_OptionGroup { /** * $_domainIDGroups array maintains the list of option groups for whom * domainID is to be considered. + * + * FIXME: Hardcoded list = bad. It would be better to make this a column in the civicrm_option_group table * @var array */ public static $_domainIDGroups = [ @@ -28,6 +30,14 @@ class CRM_Core_OptionGroup { 'grant_type', ]; + /** + * @param $groupName + * @return bool + */ + public static function isDomainOptionGroup($groupName) { + return in_array($groupName, self::$_domainIDGroups, TRUE); + } + /** * @param CRM_Core_DAO $dao * @param bool $flip @@ -106,7 +116,7 @@ class CRM_Core_OptionGroup { $orderBy = 'weight' ) { $cache = CRM_Utils_Cache::singleton(); - if (in_array($name, self::$_domainIDGroups)) { + if (self::isDomainOptionGroup($name)) { $cacheKey = self::createCacheKey($name, CRM_Core_I18n::getLocale(), $flip, $grouping, $localize, $condition, $labelColumnName, $onlyActive, $keyColumnName, $orderBy, CRM_Core_Config::domainID()); } else { @@ -144,7 +154,7 @@ WHERE v.option_group_id = g.id } $query .= " AND ($componentClause) "; } - if (in_array($name, self::$_domainIDGroups)) { + if (self::isDomainOptionGroup($name)) { $query .= " AND v.domain_id = " . CRM_Core_Config::domainID(); } @@ -433,7 +443,7 @@ WHERE v.option_group_id = g.id AND g.is_active = 1 AND v.is_default = 1 "; - if (in_array($groupName, self::$_domainIDGroups)) { + if (self::isDomainOptionGroup($groupName)) { $query .= " AND v.domain_id = " . CRM_Core_Config::domainID(); }