$membershipTypeValues = CRM_Member_BAO_Membership::buildMembershipTypeValues($this, $membershipTypeIds);
$this->_membershipTypeValues = $membershipTypeValues;
$endDate = NULL;
+
+ // Check if we support auto-renew on this contribution page
+ // FIXME: If any of the payment processors do NOT support recurring you cannot setup an
+ // auto-renew payment even if that processor is not selected.
+ $allowAutoRenewOpt = TRUE;
+ if (is_array($this->_paymentProcessors)) {
+ foreach ($this->_paymentProcessors as $id => $val) {
+ if ($id && !$val['is_recur']) {
+ $allowAutoRenewOpt = FALSE;
+ }
+ }
+ }
foreach ($membershipTypeIds as $value) {
$memType = $membershipTypeValues[$value];
if ($selectedMembershipTypeID != NULL) {
}
}
elseif ($memType['is_active']) {
- $javascriptMethod = NULL;
- $allowAutoRenewOpt = (int) $memType['auto_renew'];
- if (is_array($this->_paymentProcessors)) {
- foreach ($this->_paymentProcessors as $id => $val) {
- if ($id && !$val['is_recur']) {
- $allowAutoRenewOpt = 0;
- continue;
- }
- }
- }
-
- $javascriptMethod = array('onclick' => "return showHideAutoRenew( this.value );");
- $autoRenewMembershipTypeOptions["autoRenewMembershipType_{$value}"] = (int) $allowAutoRenewOpt * CRM_Utils_Array::value($value, CRM_Utils_Array::value('auto_renew', $this->_membershipBlock));;
if ($allowAutoRenewOpt) {
+ $javascriptMethod = array('onclick' => "return showHideAutoRenew( this.value );");
+ $autoRenewMembershipTypeOptions["autoRenewMembershipType_{$value}"] = (int) $memType['auto_renew'] * CRM_Utils_Array::value($value, CRM_Utils_Array::value('auto_renew', $this->_membershipBlock));
$allowAutoRenewMembership = TRUE;
}
+ else {
+ $javascriptMethod = NULL;
+ $autoRenewMembershipTypeOptions["autoRenewMembershipType_{$value}"] = 0;
+ }
//add membership type.
$radio[$memType['id']] = $this->createElement('radio', NULL, NULL, NULL,