Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-10854

Configure contribution page: Amounts gives notice when saving form with more than one payment processor checked

    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'); }

        Attachments

          Activity

            People

            • Assignee:
              ravish.nair Ravish Nair
              Reporter:
              dgg David Greenberg
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: