From aed025fbd6fee78376f2ccac45a0650d1eaef57d Mon Sep 17 00:00:00 2001 From: John Kingsnorth Date: Tue, 25 Aug 2020 11:35:57 +0100 Subject: [PATCH] dev/core#1971 Domain-specific option value caching --- CRM/Core/OptionGroup.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CRM/Core/OptionGroup.php b/CRM/Core/OptionGroup.php index 89018c1a21..727f2b2214 100644 --- a/CRM/Core/OptionGroup.php +++ b/CRM/Core/OptionGroup.php @@ -106,7 +106,12 @@ class CRM_Core_OptionGroup { $orderBy = 'weight' ) { $cache = CRM_Utils_Cache::singleton(); - $cacheKey = self::createCacheKey($name, $flip, $grouping, $localize, $condition, $labelColumnName, $onlyActive, $keyColumnName, $orderBy); + if (in_array($name, self::$_domainIDGroups)) { + $cacheKey = self::createCacheKey($name, $flip, $grouping, $localize, $condition, $labelColumnName, $onlyActive, $keyColumnName, $orderBy, CRM_Core_Config::domainID()); + } + else { + $cacheKey = self::createCacheKey($name, $flip, $grouping, $localize, $condition, $labelColumnName, $onlyActive, $keyColumnName, $orderBy); + } if (!$fresh) { // Fetch from static var @@ -186,8 +191,7 @@ WHERE v.option_group_id = g.id * @return string */ protected static function createCacheKey($id) { - $cacheKey = "CRM_OG_" . preg_replace('/[^a-zA-Z0-9]/', '', $id) . '_' . md5(serialize(func_get_args())); - return $cacheKey; + return "CRM_OG_" . preg_replace('/[^a-zA-Z0-9]/', '', $id) . '_' . md5(serialize(func_get_args())); } /** -- 2.25.1