From 5fedeb712b85d3122dfe5cdd150ac0b13042a215 Mon Sep 17 00:00:00 2001 From: Christian Fowler Date: Mon, 1 Apr 2013 11:27:38 -0400 Subject: add barebones authentication for install so changes in users tables do not break upgrade process --- BitInstaller.php | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'BitInstaller.php') diff --git a/BitInstaller.php b/BitInstaller.php index 560123d..20f478a 100644 --- a/BitInstaller.php +++ b/BitInstaller.php @@ -46,6 +46,37 @@ class BitInstaller extends BitSystem { } } + /** + * Minimal login just for install in case users tables have been modified + * + * @access public + * @return void + */ + function login( $pLogin, $pPassword, $pChallenge=NULL, $pResponse=NULL ) { + global $gBitUser; + + $isvalid = false; + + $loginCol = strpos( $pLogin, '@' ) ? 'email' : 'login'; + + if( $gBitUser->validate( $pLogin, $pPassword, $pChallenge, $pResponse ) ) { + $userInfo = $gBitUser->getUserInfo( array( $loginCol => $pLogin ) ); + + if( $userInfo['user_id'] != ANONYMOUS_USER_ID ) { + // User is valid and not due to change pass.. + $gBitUser->mUserId = $userInfo['user_id']; + $gBitUser->mInfo = $userInfo; + $gBitUser->loadPermissions( TRUE ); + + $sessionId = session_id(); + $gBitUser->sendSessionCookie( $sessionId ); + $gBitUser->updateSession( $sessionId ); + } + } + + return $gBitUser->isAdmin(); + } + /** * loadUpgradeFiles This will load all files in the dir /admin/upgrades/.php with a version greater than the one installed * -- cgit v1.3