* @return array|bool
*/
public static function getContactMembership($contactID, $memType, $isTest, $membershipId = NULL, $onlySameParentOrg = FALSE) {
+ //check for owner membership id, if it exists update that membership instead: CRM-15992
+ if ($membershipId) {
+ $ownerMemberId = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership',
+ $membershipId,
+ 'owner_membership_id', 'id'
+ );
+ if ($ownerMemberId) {
+ $membershipId = $ownerMemberId;
+ $contactID = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership',
+ $membershipId,
+ 'contact_id', 'id'
+ );
+ }
+ }
+
$dao = new CRM_Member_DAO_Membership();
if ($membershipId) {
$dao->id = $membershipId;