*/
/**
- * This class generates form components for processing a ontribution
+ * This class generates form components for processing a contribution
*
*/
class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
/**
- * the id of the contribution page that we are proceessing
+ * the id of the contribution page that we are processsing
*
* @var int
* @public
*/
public $_membershipBlock = NULL;
+ /**
+ * Does this form support a separate membership payment
+ * @var bool
+ */
+ protected $_separateMembershipPayment;
/**
* the default values for the form
*
* @var array
* @public
*/
- public $_fields;
+ public $_fields = array();
/**
* The billing location id for this contribiution page
/**
* The contact id of the person for whom membership is being added or renewed based on the cid in the url,
* checksum, or session
- * @var unknown_type
+ * @var int
*/
- protected $_contactID;
+ public $_contactID;
protected $_userID;
*/
public $_honor_block_is_active = FALSE;
+ /**
+ * Contribution mode e.g express for payment express, notify for off-site + notification back to CiviCRM
+ * @var string
+ */
+ public $_contributeMode;
+
+ /**
+ * contribution page supports memberships
+ * @var boolean
+ */
+ public $_useForMember;
+
+ public $_isBillingAddressRequiredForPayLater;
/**
* Function to set variables up before form is built
*
if (CRM_Utils_Request::retrieve('cancel', 'Boolean', CRM_Core_DAO::$_nullObject)) {
self::cancelRecurring();
}
+
+ // check if billing block is required for pay later
+ if (CRM_Utils_Array::value('is_pay_later', $this->_values)) {
+ $this->_isBillingAddressRequiredForPayLater = CRM_Utils_Array::value('is_billing_required', $this->_values);
+ $this->assign('isBillingAddressRequiredForPayLater', $this->_isBillingAddressRequiredForPayLater);
+ }
}
/**
/**
* Function to add the custom fields
*
+ * @param $id
+ * @param $name
+ * @param bool $viewOnly
+ * @param null $profileContactType
+ * @param null $fieldTypes
+ *
* @return void
* @access public
*/
}
}
+ /**
+ * Check template file exists
+ * @param null $suffix
+ *
+ * @return null|string
+ */
function checkTemplateFileExists($suffix = NULL) {
if ($this->_id) {
$templateFile = "CRM/Contribute/Form/Contribution/{$this->_id}/{$this->_name}.{$suffix}tpl";
return NULL;
}
+ /**
+ * Use the form name to create the tpl file name
+ *
+ * @return string
+ * @access public
+ */
+ /**
+ * @return string
+ */
function getTemplateFileName() {
$fileName = $this->checkTemplateFileExists();
return $fileName ? $fileName : parent::getTemplateFileName();
}
+ /**
+ * Default extra tpl file basically just replaces .tpl with .extra.tpl
+ * i.e. we dont override
+ *
+ * @return string
+ * @access public
+ */
+ /**
+ * @return string
+ */
function overrideExtraTemplateFileName() {
$fileName = $this->checkTemplateFileExists('extra.');
return $fileName ? $fileName : parent::overrideExtraTemplateFileName();