mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
MINOR Moved member logged in check from MemberLoginFrom to a static function Member
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.3@75044 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
ced037f6a6
commit
756735b1ad
@ -240,6 +240,23 @@ class Member extends DataObject {
|
||||
$this->extend('memberLoggedIn');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the member ID logged in session actually
|
||||
* has a database record of the same ID. If there is
|
||||
* no logged in user, FALSE is returned anyway.
|
||||
*
|
||||
* @return boolean TRUE record found FALSE no record found
|
||||
*/
|
||||
static function logged_in_session_exists() {
|
||||
if($id = Member::currentUserID()) {
|
||||
if($member = DataObject::get_by_id('Member', $id)) {
|
||||
if($member->exists()) return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log the user in if the "remember login" cookie is set
|
||||
*
|
||||
|
@ -43,16 +43,7 @@ class MemberLoginForm extends LoginForm {
|
||||
$backURL = Session::get('BackURL');
|
||||
}
|
||||
|
||||
// We assume if session is storing a member ID, that member exists in the DB
|
||||
$sessMemberExistsInDB = true;
|
||||
if($sessionMemberID = Member::currentUserID()) {
|
||||
$sessMemberInDB = DataObject::get_by_id('Member', $sessionMemberID);
|
||||
if(!($sessMemberInDB && $sessMemberInDB->exists())) {
|
||||
$sessMemberExistsInDB = false;
|
||||
}
|
||||
}
|
||||
|
||||
if($checkCurrentUser && Member::currentUserID() && $sessMemberExistsInDB) {
|
||||
if($checkCurrentUser && Member::currentUserID() && Member::logged_in_session_exists()) {
|
||||
$fields = new FieldSet(
|
||||
new HiddenField("AuthenticationMethod", null, $this->authenticator_class, $this)
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user