CRM_Core_Resources::singleton()->addVars('coreForm', array('contact_id' => (int) $this->_contactID));
$this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'add');
$this->_mode = empty($this->_mode) ? CRM_Utils_Request::retrieve('mode', 'String', $this) : $this->_mode;
+ $this->assign('isBackOffice', $this->isBackOffice);
$this->assignPaymentRelatedVariables();
}
$this->assign('credit_card_type', CRM_Utils_Array::value('credit_card_type', $this->_params));
}
$this->_params['ip_address'] = CRM_Utils_System::ipAddress();
- if (in_array('credit_card_type', array_keys($this->_params))) {
- $this->_params['card_type_id'] = CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_FinancialTrxn', 'card_type_id', $this->_params['credit_card_type']);
- }
- if (!empty($this->_params['credit_card_number']) && empty($this->_params['pan_truncation'])) {
- $this->_params['pan_truncation'] = substr($this->_params['credit_card_number'], -4);
- }
+ self::formatCreditCardDetails($this->_params);
}
+ /**
+ * Format credit card details like:
+ * 1. Retrieve last 4 digit from credit card number as pan_truncation
+ * 2. Retrieve credit card type id from name
+ *
+ * @param array $params
+ *
+ * @return void
+ */
+ public static function formatCreditCardDetails(&$params) {
+ if (in_array('credit_card_type', array_keys($params))) {
+ $params['card_type_id'] = CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_FinancialTrxn', 'card_type_id', $params['credit_card_type']);
+ }
+ if (!empty($params['credit_card_number']) && empty($params['pan_truncation'])) {
+ $params['pan_truncation'] = substr($params['credit_card_number'], -4);
+ }
+ }
/**
* Add the billing address to the contact who paid.