Add in utility function for resetting ACL and System Level Caches
authorSeamus Lee <seamuslee001@gmail.com>
Sat, 22 Jun 2019 03:46:10 +0000 (13:46 +1000)
committerSeamus Lee <seamuslee001@gmail.com>
Sat, 22 Jun 2019 04:04:15 +0000 (14:04 +1000)
CRM/Core/BAO/Cache.php

index fe41bd06cc350843cea3b0685f3f89981c32d18a..ef2bc60eee6ac8003dcba1ed3ea3a9b3bb70070a 100644 (file)
@@ -242,14 +242,22 @@ class CRM_Core_BAO_Cache extends CRM_Core_DAO_Cache {
     }
 
     if ($clearAll) {
-      // also reset ACL Cache
-      CRM_ACL_BAO_Cache::resetCache();
-
-      // also reset memory cache if any
-      CRM_Utils_System::flushCache();
+      self::resetCaches();
     }
   }
 
+  /**
+   * Cleanup ACL and System Level caches
+   */
+  public static function resetCaches() {
+    // also reset ACL Cache
+    // @todo why is this called when CRM_Utils_System::flushCache() does it as well.
+    CRM_ACL_BAO_Cache::resetCache();
+
+    // also reset memory cache if any
+    CRM_Utils_System::flushCache();
+  }
+
   /**
    * The next two functions are internal functions used to store and retrieve session from
    * the database cache. This keeps the session to a limited size and allows us to