From e082c9476a17d16325e10f51c08d9b0954da7557 Mon Sep 17 00:00:00 2001 From: eileenmcnaughton Date: Mon, 29 Jun 2015 21:16:41 +0000 Subject: [PATCH] fix for test payment processors not loading --- CRM/Financial/BAO/PaymentProcessor.php | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/CRM/Financial/BAO/PaymentProcessor.php b/CRM/Financial/BAO/PaymentProcessor.php index edbd08aa50..169aab7bc1 100644 --- a/CRM/Financial/BAO/PaymentProcessor.php +++ b/CRM/Financial/BAO/PaymentProcessor.php @@ -362,16 +362,24 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces */ public static function getPaymentProcessors($capabilities = array(), $ids = array()) { $mode = NULL; + $testProcessors = in_array('TestMode', $capabilities) ? self::getAllPaymentProcessors('test') : array(); + $processors = $liveProcessors = self::getAllPaymentProcessors('live'); + if (in_array('TestMode', $capabilities)) { - $mode = 'test'; - } - elseif (in_array('LiveMode', $capabilities)) { - $mode = 'live'; + foreach ($testProcessors as $testProcessor) { + if (!in_array($testProcessor['id'], $ids)) { + foreach ($liveProcessors as $liveProcessor) { + if ($liveProcessor['name'] == $testProcessor['name']) { + $ids[] = $testProcessor['id']; + } + } + } + } + $processors = $testProcessors; } - $processors = self::getAllPaymentProcessors($mode); foreach ($processors as $index => $processor) { - if (!empty($ids) && !in_array($processor['id'], $ids)) { + if (!in_array($processor['id'], $ids)) { unset ($processors[$index]); continue; } -- 2.25.1