*/
public static function getMembershipCount($membershipTypeId, $date = NULL, $isTest = 0, $isOwner = 0) {
if (!CRM_Utils_Rule::date($date)) {
- CRM_Core_Error::fatal(ts('Invalid date "%1" (must have form yyyy-mm-dd).', [1 => $date]));
+ throw new CRM_Core_Exception(ts('Invalid date "%1" (must have form yyyy-mm-dd).', [1 => $date]));
}
$params = [
* @return null|string
*/
public static function getContactMembershipCount($contactID, $activeOnly = FALSE) {
+ CRM_Financial_BAO_FinancialType::getAvailableMembershipTypes($membershipTypes);
+ $addWhere = " AND membership_type_id IN (0)";
+ if (!empty($membershipTypes)) {
+ $addWhere = " AND membership_type_id IN (" . implode(',', array_keys($membershipTypes)) . ")";
+ }
$select = "SELECT count(*) FROM civicrm_membership ";
$where = "WHERE civicrm_membership.contact_id = {$contactID} AND civicrm_membership.is_test = 0 ";
$where .= " and civicrm_membership_status.is_current_member = 1";
}
- $query = $select . $where;
+ $query = $select . $where . $addWhere;
return CRM_Core_DAO::singleValueQuery($query);
}
if ($contributionRecurID) {
$memParams['contribution_recur_id'] = $contributionRecurID;
}
- // @todo stop passing $ids - it is empty
- $membership = self::create($memParams, $ids);
+
+ $membership = self::create($memParams);
return [$membership, $renewalMode, $dates];
}
if (!empty($membershipSource)) {
$currentMembership['source'] = $membershipSource;
}
- else {
- $currentMembership['source'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership',
- $currentMembership['id'],
- 'source'
- );
- }
if (!empty($currentMembership['id'])) {
$ids['membership'] = $currentMembership['id'];
}
$memParams['membership_activity_status'] = ($pending || $isPayLater) ? 'Scheduled' : 'Completed';
}
- //CRM-4555
- if ($pending) {
- $updateStatusId = array_search('Pending', $allStatus);
- }
}
else {
// NEW Membership