Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 2
0
 /**
  * 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()));
     }
 }
Esempio n. 4
0
 /**
  * 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);
 }
Esempio n. 5
0
 /**
  * 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());
 }
Esempio n. 6
0
 /**
  * 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;
 }