/** * The url to the page with the member edit/create form * @param Member $member If member is given, form page will be in edit mode, otherwise in create mode * @return string Returns the form page url */ protected function FormUrl(Member $member = null) { $args = array(); if ($member) { $args['member'] = $member->GetID(); } return BackendRouter::ModuleUrl(new MemberForm(), $args); }
/** * 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); }
protected function OnSuccess() { $this->member = new Member(); $this->member->SetEMail($this->Value('EMail')); $this->member->SetName($this->Value('Name')); $password = $this->Value('Password'); $salt = String::Start(md5(uniqid(microtime())), 8); $pwHash = hash('sha256', $password . $salt); $this->member->SetPassword($pwHash); $this->member->SetPasswordSalt($salt); $this->member->SetCreated(Date::Now()); $this->member->Save(); $this->SendConfirmMail(); if ($this->register->GetNextUrl()) { Response::Redirect(FrontendRouter::Url($this->register->GetNextUrl())); } }
/** * Deletes the unselected group ids * @param array $exGroupIDs Currently assigned group ids * @param array $selGroupIDs Selected group ids */ private function DeleteOldGroups(array $selGroupIDs) { $tblMmg = MemberMembergroup::Schema()->Table(); $sql = Access::SqlBuilder(); $where = $sql->Equals($tblMmg->Field('Member'), $sql->Value($this->member->GetID())); if (count($selGroupIDs) > 0) { $selectedList = $sql->InListFromValues($selGroupIDs); $where = $where->And_($sql->NotIn($tblMmg->Field('MemberGroup'), $selectedList)); } MemberMembergroup::Schema()->Delete($where); }
/** * Returns the password key * @param Member $member * @return string Returns the calculated key for the member */ private static function CalcKey(Member $member) { return sha1($member->GetPasswordSalt() . $member->GetConfirmed() . $member->GetName()); }
/** * Loads the currently active accessor into this instance * @return bool */ function LoadCurrent() { $this->member = null; $memberID = null; if (isset($_SESSION[self::$sessionParam])) { $memberID = $_SESSION[self::$sessionParam]; } if ($memberID) { $this->member = Member::Schema()->ByID($memberID); } return $this->member !== null; }