From 58c3bf5f4bb29fe1e1952a0264f4fd871b4abe97 Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Wed, 15 Jul 2015 15:53:40 +0530 Subject: [PATCH] --ICM-17, modified Joe's commit for caching financial type --- CRM/Financial/BAO/FinancialType.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CRM/Financial/BAO/FinancialType.php b/CRM/Financial/BAO/FinancialType.php index 9433386d19..37a1b49fbb 100644 --- a/CRM/Financial/BAO/FinancialType.php +++ b/CRM/Financial/BAO/FinancialType.php @@ -40,9 +40,9 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { static $_defaultContributionType = NULL; /** - * Statid cache holder of available financial types for this session + * Static cache holder of available financial types for this session */ - static $_availableFinancialTypes = NULL; + static $_availableFinancialTypes = array(); /** * Class constructor. @@ -239,18 +239,18 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { } if (!self::isACLFinancialTypeStatus()) { return $financialTypes; - } else { - // check cached value - if (!empty($_availableFinancialTypes) && !$reset) { - return $_availableFinancialTypes; - } + } + // check cached value + if (CRM_Utils_Array::value($action, self::$_availableFinancialTypes) && !$resetCache) { + $financialTypes = self::$_availableFinancialTypes[$action]; + return self::$_availableFinancialTypes[$action]; } foreach ($financialTypes as $finTypeId => $type) { if (!CRM_Core_Permission::check($action . ' contributions of type ' . $type)) { unset($financialTypes[$finTypeId]); } } - $_availableFinancialTypes = $financialTypes; + self::$_availableFinancialTypes[$action] = $financialTypes; return $financialTypes; } -- 2.25.1