<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
*/
/**
- * This class generates form components for processing a ontribution
+ * This class generates form components for processing a contribution
*
*/
class CRM_Contribute_Form_UpdateBilling extends CRM_Core_Form {
protected $_selfService = FALSE;
public $_bltID = NULL;
- public $_paymentProcessor = NULL;
+
+ /**
+ * @var array current payment processor including a copy of the object in 'object' key
+ */
+ public $_paymentProcessor = array();
public $_paymentProcessorObj = NULL;
/**
- * Function to set variables up before form is built
+ * Set variables up before form is built
*
* @return void
- * @access public
*/
public function preProcess() {
$this->_mid = CRM_Utils_Request::retrieve('mid', 'Integer', $this, FALSE);
$this->_coid = CRM_Utils_Request::retrieve('coid', 'Integer', $this, FALSE);
if ($this->_coid) {
$this->_paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_coid, 'contribute', 'info');
- $this->_paymentProcessorObj = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_coid, 'contribute', 'obj');
+ $this->_paymentProcessor['object'] = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_coid, 'contribute', 'obj');
$this->_subscriptionDetails = CRM_Contribute_BAO_ContributionRecur::getSubscriptionDetails($this->_coid, 'contribution');
}
if ($this->_mid) {
$this->_paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_mid, 'membership', 'info');
- $this->_paymentProcessorObj = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_mid, 'membership', 'obj');
+ $this->_paymentProcessor['object'] = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_mid, 'membership', 'obj');
$this->_subscriptionDetails = CRM_Contribute_BAO_ContributionRecur::getSubscriptionDetails($this->_mid, 'membership');
$membershipTypes = CRM_Member_PseudoConstant::membershipType();
$membershipTypeId = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership', $this->_mid, 'membership_type_id');
$this->_selfService = TRUE;
}
- if (!$this->_paymentProcessorObj->isSupported('updateSubscriptionBillingInfo')) {
+ if (!$this->_paymentProcessor['object']->isSupported('updateSubscriptionBillingInfo')) {
CRM_Core_Error::fatal(ts("%1 processor doesn't support updating subscription billing details.",
- array(1 => $this->_paymentProcessorObj->_processorName)
+ array(1 => $this->_paymentProcessor['object']->_processorName)
));
}
$this->assign('paymentProcessor', $this->_paymentProcessor);
/**
* @return array
*/
- function setDefaultValues() {
+ public function setDefaultValues() {
$this->_defaults = array();
if ($this->_subscriptionDetails->contact_id) {
}
/**
- * Function to build the form
+ * Build the form object
*
* @return void
- * @access public
*/
public function buildQuickForm() {
$type = 'next';
- if ( $this->_selfService ) {
+ if ($this->_selfService) {
$type = 'submit';
}
)
);
- CRM_Core_Payment_Form::buildCreditCard($this);
+ CRM_Core_Payment_Form::buildPaymentForm($this, $this->_paymentProcessor['object'], TRUE);
$this->addFormRule(array('CRM_Contribute_Form_UpdateBilling', 'formRule'), $this);
}
/**
- * global form rule
+ * Global form rule
*
- * @param array $fields the input form values
- * @param array $files the uploaded files if any
+ * @param array $fields
+ * The input form values.
+ * @param array $files
+ * The uploaded files if any.
* @param $self
*
- * @internal param array $options additional user data
*
* @return true if no errors, else array of errors
- * @access public
* @static
*/
- static function formRule($fields, $files, $self) {
+ public static function formRule($fields, $files, $self) {
$errors = array();
CRM_Core_Form::validateMandatoryFields($self->_fields, $fields, $errors);
* Process the form
*
* @return void
- * @access public
*/
public function postProcess() {
$params = $this->controller->exportValues($this->_name);
array(
1 => $this->_subscriptionDetails->amount,
2 => $this->_subscriptionDetails->frequency_interval,
- 3 => $this->_subscriptionDetails->frequency_unit
+ 3 => $this->_subscriptionDetails->frequency_unit,
)
);
$msgTitle = ts('Details Updated');
$session = CRM_Core_Session::singleton();
$userID = $session->get('userID');
- if ( $userID && $status) {
+ if ($userID && $status) {
$session->setStatus($status, $msgTitle, $msgType);
- } else if (!$userID) {
+ }
+ elseif (!$userID) {
if ($status)
CRM_Utils_System::setUFMessage($status);
$result = (int) ($updateSubscription && isset($ctype));
}
}
}
-