diff --git a/api/v3/MembershipStatus.php b/api/v3/MembershipStatus.php index cad70e9..99995ac 100644 --- a/api/v3/MembershipStatus.php +++ b/api/v3/MembershipStatus.php @@ -166,7 +166,7 @@ SELECT start_date, end_date, join_date, membership_type_id $dao = CRM_Core_DAO::executeQuery($query, $params); if ($dao->fetch()) { $membershipTypeID = empty($membershipParams['membership_type_id']) ? $dao->membership_type_id : $membershipParams['membership_type_id']; - $result = CRM_Member_BAO_MembershipStatus::getMembershipStatusByDate($dao->start_date, $dao->end_date, $dao->join_date, 'today', CRM_Utils_Array::value('ignore_admin_only', $membershipParams), $membershipTypeID, $membershipParams); + $result = CRM_Member_BAO_MembershipStatus::getMembershipStatusByDate($dao->start_date, $dao->end_date, $dao->join_date, $membershipParams['status_date'], CRM_Utils_Array::value('ignore_admin_only', $membershipParams), $membershipTypeID, $membershipParams); //make is error zero only when valid status found. if (!empty($result['id'])) { $result['is_error'] = 0; @@ -189,4 +189,8 @@ SELECT start_date, end_date, join_date, membership_type_id function _civicrm_api3_membership_status_calc_spec(&$params) { $params['membership_id']['api.required'] = 1; $params['membership_id']['title'] = 'Membership ID'; + + $params['status_date']['api.default'] = 'today'; + $params['status_date']['title'] = 'Calculation date'; + $params['status_date']['description'] = 'Status date of the member whose membership status is to be calculated.'; }