Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Minor
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.2.1
-
Fix Version/s: 4.2.2
-
Component/s: CiviContribute
-
Labels:None
Description
On saving the Amount tab form w/ > 1 processor checked:
Warning: strtolower() expects parameter 1 to be string, array given in CRM_Core_DAO::getFieldValue() (line 750 of /Users/dgg/svn/crm_v4.2/CRM/Core/DAO.php).
In CRM/Contribute/Form/ContributionPage/Amount.php(370): CRM_Core_DAO::getFieldValue("CRM_Core_DAO_PaymentProcessor", (Array:2), "payment_processor_type")
When you save this form with > 1 processor selected, the $paymentProcessorType is an array of processor IDs now instead of a string - for example:
Array
(
[5] => 1
[1] => 1
)
Line 371-3 needs to be changed to loop on the array, lookup the processor name and then check if one of the enabled processors is Google Checkout. This is the current code
if ($paymentProcessorType == 'Google_Checkout')
{ $errors['is_recur_interval'] = ts('Google Checkout does not support recurring intervals'); }