[Ref] Extract getCacheKey
authorEileen McNaughton <emcnaughton@wikimedia.org>
Sat, 9 Oct 2021 04:29:57 +0000 (17:29 +1300)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Sat, 9 Oct 2021 21:31:48 +0000 (10:31 +1300)
CRM/Core/EntityTokens.php

index 2d5e5b395a8bed09b89744c77ed8d93f62bbe37f..46a4d539825afcd0e58db2d2bb0a378b69c55f9e 100644 (file)
@@ -75,10 +75,7 @@ class CRM_Core_EntityTokens extends AbstractTokenSubscriber {
    */
   protected function getTokenMetadata(): array {
     if (empty($this->tokensMetadata)) {
-      $cacheKey = __CLASS__ . 'token_metadata' . $this->getApiEntityName() . CRM_Core_Config::domainID() . '_' . CRM_Core_I18n::getLocale();
-      if ($this->checkPermissions) {
-        $cacheKey .= '__' . CRM_Core_Session::getLoggedInContactID();
-      }
+      $cacheKey = $this->getCacheKey();
       if (Civi::cache('metadata')->has($cacheKey)) {
         $this->tokensMetadata = Civi::cache('metadata')->get($cacheKey);
       }
@@ -637,4 +634,17 @@ class CRM_Core_EntityTokens extends AbstractTokenSubscriber {
     }
   }
 
+  /**
+   * Get a cache key appropriate to the current usage.
+   *
+   * @return string
+   */
+  protected function getCacheKey(): string {
+    $cacheKey = __CLASS__ . 'token_metadata' . $this->getApiEntityName() . CRM_Core_Config::domainID() . '_' . CRM_Core_I18n::getLocale();
+    if ($this->checkPermissions) {
+      $cacheKey .= '__' . CRM_Core_Session::getLoggedInContactID();
+    }
+    return $cacheKey;
+  }
+
 }