}
if ((!$this->_crid && !$this->_coid && !$this->_mid) || (!$this->_subscriptionDetails)) {
- CRM_Core_Error::fatal('Required information missing.');
+ throw new CRM_Core_Exception('Required information missing.');
}
if (!$this->_paymentProcessor['object']->supports('updateSubscriptionBillingInfo')) {
- CRM_Core_Error::fatal(ts("%1 processor doesn't support updating subscription billing details.",
- array(1 => $this->_paymentProcessor['object']->_processorName)
+ throw new CRM_Core_Exception(ts("%1 processor doesn't support updating subscription billing details.",
+ [1 => $this->_paymentProcessor['title']]
));
}
$this->assign('paymentProcessor', $this->_paymentProcessor);
* Default values
*/
public function setDefaultValues() {
- $this->_defaults = array();
+ $this->_defaults = [];
if ($this->_subscriptionDetails->contact_id) {
- $fields = array();
+ $fields = [];
$names = array(
'first_name',
'middle_name',
* true if no errors, else array of errors
*/
public static function formRule($fields, $files, $self) {
- $errors = array();
+ $errors = [];
CRM_Core_Form::validateMandatoryFields($self->_fields, $fields, $errors);
// validate the payment instrument values (e.g. credit card number)
}
$fields["email-{$this->_bltID}"] = 1;
- $processorParams = array();
+ $processorParams = [];
foreach ($params as $key => $val) {
$key = str_replace('billing_', '', $key);
list($key) = explode('-', $key);
}
$processorParams['state_province'] = CRM_Core_PseudoConstant::stateProvince($params["billing_state_province_id-{$this->_bltID}"], FALSE);
$processorParams['country'] = CRM_Core_PseudoConstant::country($params["billing_country_id-{$this->_bltID}"], FALSE);
- $processorParams['month'] = $processorParams['credit_card_exp_date']['M'];
- $processorParams['year'] = $processorParams['credit_card_exp_date']['Y'];
+ $processorParams['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($processorParams);
+ $processorParams['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($processorParams);
$processorParams['subscriptionId'] = $this->getSubscriptionDetails()->processor_id;
$processorParams['amount'] = $this->_subscriptionDetails->amount;
+ $message = '';
$updateSubscription = $this->_paymentProcessor['object']->updateSubscriptionBillingInfo($message, $processorParams);
if (is_a($updateSubscription, 'CRM_Core_Error')) {
CRM_Core_Error::displaySessionError($updateSubscription);
list($donorDisplayName, $donorEmail) = CRM_Contact_BAO_Contact::getContactDetails($this->_subscriptionDetails->contact_id);
$tplParams['contact'] = array('display_name' => $donorDisplayName);
- $date = CRM_Utils_Date::format($processorParams['credit_card_exp_date']);
- $tplParams['credit_card_exp_date'] = CRM_Utils_Date::mysqlToIso($date);
- $tplParams['credit_card_number'] = CRM_Utils_System::mungeCreditCard($processorParams['credit_card_number']);
- $tplParams['credit_card_type'] = $processorParams['credit_card_type'];
+ $tplParams = array_merge($tplParams, CRM_Contribute_Form_AbstractEditPayment::formatCreditCardDetails($processorParams));
$sendTemplateParams = array(
'groupName' => $this->_subscriptionDetails->membership_id ? 'msg_tpl_workflow_membership' : 'msg_tpl_workflow_contribution',