function get_all_associated_status_member_ids($member, $dimension, $ot = null) { $ids = array(); if ($member instanceof Member && $dimension instanceof Dimension) { $member_dimension = $member->getDimension(); if (!$member_dimension instanceof Dimension) { return 0; } $a = DimensionMemberAssociations::instance()->findOne(array('conditions' => array('dimension_id=? AND object_type_id=? AND associated_dimension_id=?' . ($ot instanceof ObjectType ? ' AND associated_object_type_id=' . $ot->getId() : ''), $member_dimension->getId(), $member->getObjectTypeId(), $dimension->getId()))); // create relation between members and remove old relations if ($a instanceof DimensionMemberAssociation) { $mpms = MemberPropertyMembers::findAll(array('conditions' => array('association_id = ? AND member_id = ?', $a->getId(), $member->getId()))); foreach ($mpms as $mpm) { $ids[] = intval($mpm->getPropertyMemberId()); } } } return $ids; }