diff options
| author | Christian Fowler <cfowler2@wcpss.net> | 2013-04-01 11:27:38 -0400 |
|---|---|---|
| committer | Christian Fowler <cfowler2@wcpss.net> | 2013-04-01 11:27:38 -0400 |
| commit | 5fedeb712b85d3122dfe5cdd150ac0b13042a215 (patch) | |
| tree | 1ecfa3365c8f84a62d8841231d40ff58db50c131 /BitInstaller.php | |
| parent | 8f1b89ee277bdd87285782fc66990123d7eee188 (diff) | |
| download | install-5fedeb712b85d3122dfe5cdd150ac0b13042a215.tar.gz install-5fedeb712b85d3122dfe5cdd150ac0b13042a215.tar.bz2 install-5fedeb712b85d3122dfe5cdd150ac0b13042a215.zip | |
add barebones authentication for install so changes in users tables do not break upgrade process
Diffstat (limited to 'BitInstaller.php')
| -rw-r--r-- | BitInstaller.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/BitInstaller.php b/BitInstaller.php index 560123d..20f478a 100644 --- a/BitInstaller.php +++ b/BitInstaller.php @@ -47,6 +47,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 <pckage>/admin/upgrades/<version>.php with a version greater than the one installed * * @param array $pPackage |
