Merge pull request #1886 from pratik-joshi/CRM-13681
[civicrm-core.git] / CRM / Member / Form / MembershipBlock.php
index f73277a4641ca3cdac9cd674564a6f09d33f46fa..33717a6efc0a39d842ab920f68c7d3d75f933af6 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.4                                                |
  +--------------------------------------------------------------------+
  | Copyright CiviCRM LLC (c) 2004-2013                                |
  +--------------------------------------------------------------------+
@@ -270,6 +270,10 @@ class CRM_Member_Form_MembershipBlock extends CRM_Contribute_Form_ContributionPa
         if (array_sum($membershipType) == 0) {
           $errors['membership_type'] = ts('Please select at least one Membership Type to include in the Membership section of this page.');
         }
+        elseif (array_sum($membershipType) > CRM_Price_Form_Field::NUM_OPTION) {
+          // for CRM-13079
+          $errors['membership_type'] = ts('You cannot select more than %1 choices. For more complex functionality, please use a Price Set.', array(1 => CRM_Price_Form_Field::NUM_OPTION));
+        }
       }
 
       //for CRM-1302
@@ -280,7 +284,7 @@ class CRM_Member_Form_MembershipBlock extends CRM_Contribute_Form_ContributionPa
       }
 
       //give error if default is selected for an unchecked membership type
-      if (isset($params['membership_type_default']) && !$params['membership_type'][$params['membership_type_default']]) {
+      if (!empty($params['membership_type_default']) && !$params['membership_type'][$params['membership_type_default']]) {
         $errors['membership_type_default'] = ts('Can\'t set default option for an unchecked membership type.');
       }