private function AddGroups($member) { //Clear groups (although none should exist...) $memMemGrps = MemberMembergroup::Schema()->FetchByMember(false, $member); foreach ($memMemGrps as $memMemGrp) { $memMemGrp->Delete(); } $confGroups = RegisterConfirmMembergroup::Schema()->FetchByConfirm(false, $this->confirm); foreach ($confGroups as $confGroup) { $memMemGrp = new MemberMembergroup(); $memMemGrp->SetMember($member); $memMemGrp->SetMemberGroup($confGroup->GetMemberGroup()); $memMemGrp->Save(); } }
/** * Gets the member's member groups * @param Member $member * @return Membergroup[] Returns the member groups assigned to the user */ static function MemberMembergroups(Member $member) { if (!$member->Exists()) { return array(); } $sql = Access::SqlBuilder(); $tblMmg = MemberMembergroup::Schema()->Table(); $tblMg = Membergroup::Schema()->Table(); $join = $sql->Join($tblMmg); $joinCondition = $sql->Equals($tblMmg->Field('MemberGroup'), $tblMg->Field('ID')); $where = $sql->Equals($tblMmg->Field('Member'), $sql->Value($member->GetID())); $orderBy = $sql->OrderList($sql->OrderAsc($tblMg->Field('Name'))); return Membergroup::Schema()->Fetch(false, $where, $orderBy, null, 0, null, $join, JoinType::Inner(), $joinCondition); }
/** * Saves the new groups * @param array $exGroupIDs * @param array $selGroupIDs */ private function SaveNewGroups(array $exGroupIDs, array $selGroupIDs) { foreach ($selGroupIDs as $selGroupID) { if (!in_array($selGroupID, $exGroupIDs)) { $mmg = new MemberMembergroup(); $mmg->SetMember($this->member); $mmg->SetMemberGroup(new Membergroup($selGroupID)); $mmg->Save(); } } }