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);
 }
Example #3
0
 /**
  * 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();
         }
     }
 }