Merge pull request #5786 from mallezie/crm-16283-duplicaterelationcheck
[civicrm-core.git] / CRM / Core / Payment.php
index 425de725409d6d2cfbc5e8efe9e109e1493b174a..63c2ce9033cf3feb07c51cdb39f9451f54ca02c7 100644 (file)
@@ -89,7 +89,7 @@ abstract class CRM_Core_Payment {
    * @return CRM_Core_Payment
    * @throws \CRM_Core_Exception
    */
-  public static function &singleton($mode = 'test', &$paymentProcessor, &$paymentForm = NULL, $force = FALSE) {
+  public static function singleton($mode = 'test', &$paymentProcessor, &$paymentForm = NULL, $force = FALSE) {
     // make sure paymentProcessor is not empty
     // CRM-7424
     if (empty($paymentProcessor)) {
@@ -206,6 +206,27 @@ abstract class CRM_Core_Payment {
     }
   }
 
+  /**
+   * Getter for the payment processor.
+   *
+   * The payment processor array is based on the civicrm_payment_processor table entry.
+   *
+   * @return array
+   *   Payment processor array.
+   */
+  public function getPaymentProcessor() {
+    return $this->_paymentProcessor;
+  }
+
+  /**
+   * Setter for the payment processor.
+   *
+   * @param array $processor
+   */
+  public function setPaymentProcessor($processor) {
+    $this->_paymentProcessor = $processor;
+  }
+
   /**
    * Setter for the payment form that wants to use the processor.
    *
@@ -599,10 +620,7 @@ abstract class CRM_Core_Payment {
       }
       else {
         // Legacy or extension as module instance
-        if (empty($paymentClass)) {
-          $paymentClass = 'CRM_Core_' . $dao->class_name;
-
-        }
+        $paymentClass = 'CRM_Core_' . $dao->class_name;
       }
 
       $processorInstance = Civi\Payment\System::singleton()->getById($dao->processor_id);