Merge pull request #4036 from tractorcow/pulls/3.1/fix-auth-login

BUG Fix some database errors during dev/build where an auth token exists for the current user
This commit is contained in:
Daniel Hensby 2015-03-25 10:26:27 +00:00
commit a4388f923b

View File

@ -520,11 +520,16 @@ class Member extends DataObject implements TemplateGlobalProvider {
// Don't bother trying this multiple times
self::$_already_tried_to_auto_log_in = true;
if(strpos(Cookie::get('alc_enc'), ':') && !Session::get("loggedInAs")) {
list($uid, $token) = explode(':', Cookie::get('alc_enc'), 2);
$SQL_uid = Convert::raw2sql($uid);
if(strpos(Cookie::get('alc_enc'), ':') === false
|| Session::get("loggedInAs")
|| !Security::database_is_ready()
) {
return;
}
$member = DataObject::get_one("Member", "\"Member\".\"ID\" = '$SQL_uid'");
list($uid, $token) = explode(':', Cookie::get('alc_enc'), 2);
$member = DataObject::get_by_id("Member", $uid);
// check if autologin token matches
if($member) {
@ -555,7 +560,6 @@ class Member extends DataObject implements TemplateGlobalProvider {
$member->extend('memberAutoLoggedIn');
}
}
}
/**
* Logs this member out.