summaryrefslogtreecommitdiff
path: root/BitInstaller.php
diff options
context:
space:
mode:
authorChristian Fowler <cfowler2@wcpss.net>2013-04-01 11:27:38 -0400
committerChristian Fowler <cfowler2@wcpss.net>2013-04-01 11:27:38 -0400
commit5fedeb712b85d3122dfe5cdd150ac0b13042a215 (patch)
tree1ecfa3365c8f84a62d8841231d40ff58db50c131 /BitInstaller.php
parent8f1b89ee277bdd87285782fc66990123d7eee188 (diff)
downloadinstall-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.php31
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