<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.6 |
+ | CiviCRM version 4.7 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
*/
public $_priceSet;
+ /**
+ * Values submitted to the form, processed along the way.
+ *
+ * @var array
+ */
+ protected $_params = array();
+
public function preProcess() {
// Check for edit permission.
if (!CRM_Core_Permission::checkActionPermission('CiviMember', $this->_action)) {
$contributionRecurParams = array(
'contact_id' => $paymentParams['contactID'],
'amount' => $paymentParams['total_amount'],
+ 'contribution_status_id' => 'Pending',
'payment_processor_id' => $paymentParams['payment_processor_id'],
- 'campaign_id' => CRM_Utils_Array::value('campaign_id', $paymentParams),
+ 'campaign_id' => $paymentParams['campaign_id'],
'financial_type_id' => $paymentParams['financial_type_id'],
- 'is_email_receipt' => CRM_Utils_Array::value('is_email_receipt', $paymentParams),
- // This is not great as it could also be direct debit - but is consistent with elsewhere & all need fixing.
- 'payment_instrument_id' => 1,
- 'invoice_id' => CRM_Utils_Array::value('invoiceID ', $paymentParams),
+ 'is_email_receipt' => $paymentParams['is_email_receipt'],
+ 'payment_instrument_id' => $paymentParams['payment_instrument_id'],
+ 'invoice_id' => $paymentParams['invoice_id'],
);
$mapping = array(
'return' => $mapping,
));
+ $returnParams = array('is_recur' => TRUE);
foreach ($mapping as $recurringFieldName => $membershipTypeFieldName) {
$contributionRecurParams[$recurringFieldName] = $membershipType[$membershipTypeFieldName];
+ $returnParams[$recurringFieldName] = $membershipType[$membershipTypeFieldName];
}
$contributionRecur = civicrm_api3('ContributionRecur', 'create', $contributionRecurParams);
- $returnParams = array(
- 'contributionRecurID' => $contributionRecur['id'],
- 'is_recur' => TRUE,
- );
+ $returnParams['contributionRecurID'] = $contributionRecur['id'];
return $returnParams;
}
return $formValues;
}
+ /**
+ * Assign billing name to the template.
+ */
+ protected function assignBillingName() {
+ $name = '';
+ if (!empty($this->_params['billing_first_name'])) {
+ $name = $this->_params['billing_first_name'];
+ }
+
+ if (!empty($this->_params['billing_middle_name'])) {
+ $name .= " {$this->_params['billing_middle_name']}";
+ }
+
+ if (!empty($this->_params['billing_last_name'])) {
+ $name .= " {$this->_params['billing_last_name']}";
+ }
+ $this->assign('billingName', $name);
+ }
+
+ /**
+ * Wrapper function for unit tests.
+ *
+ * @param array $formValues
+ */
+ public function testSubmit($formValues) {
+ $this->_memType = $formValues['membership_type_id'][1];
+ $this->_params = $formValues;
+ $this->submit();
+ }
+
}