diff --git a/main/auth/external_logininfo/functions.inc.php b/main/auth/external_logininfo/functions.inc.php index 24630565c5..83becea408 100644 --- a/main/auth/external_logininfo/functions.inc.php +++ b/main/auth/external_logininfo/functions.inc.php @@ -65,7 +65,7 @@ function external_get_user_info($login, $password){ 'status' => $status, 'admin' => $admin, 'email' => $user_info['email'], - 'login' => $user_info['username'], + 'username' => $user_info['username'], 'language' => $language, 'password' => DEFAULT_PASSWORD, 'courses' => $user_info['courses'], @@ -116,14 +116,14 @@ function external_add_user($u){ if (! isset($u['encrypt_method']) ) $u['encrypt_method'] = ''; - $chamilo_uid = UserManager::create_user($u['firstname'], $u['lastname'],$u['status'], $u['email'], $u['login'], $u['password'], $u['official_code'], $u['language'], $u['phone'],$u['picture_uri'], $u['auth_source'], $u['expiration_date'], $u['active'], $u['hr_dept_id'], $u['extra'], $u['encrypt_method']); + $chamilo_uid = UserManager::create_user($u['firstname'], $u['lastname'],$u['status'], $u['email'], $u['username'], $u['password'], $u['official_code'], $u['language'], $u['phone'],$u['picture_uri'], $u['auth_source'], $u['expiration_date'], $u['active'], $u['hr_dept_id'], $u['extra'], $u['encrypt_method']); return $chamilo_uid; } /** * update user info in database **/ function external_update_user($u){ - $updated = UserManager::update_user($u['user_id'], $u['firstname'], $u['lastname'], $u['login'], null, $u['auth_source'], $u['email'], $u['status'], $u['official_code'], $u['phone'], $u['picture_uri'], $u['expiration_date'], $u['active'], $u['creator_id'], $u['hr_dept_id'], $u['extra'], $u['language'],''); + $updated = UserManager::update_user($u['user_id'], $u['firstname'], $u['lastname'], $u['username'], null, $u['auth_source'], $u['email'], $u['status'], $u['official_code'], $u['phone'], $u['picture_uri'], $u['expiration_date'], $u['active'], $u['creator_id'], $u['hr_dept_id'], $u['extra'], $u['language'],''); if(!empty($user['courses'])){ $autoSubscribe = explode('|', $u['courses']); foreach ($autoSubscribe as $code) { diff --git a/main/auth/external_logininfo/newUser.php b/main/auth/external_logininfo/newUser.php index f3f1a7c949..83ae93db04 100644 --- a/main/auth/external_logininfo/newUser.php +++ b/main/auth/external_logininfo/newUser.php @@ -26,7 +26,10 @@ if ($user !== false && ($chamilo_uid = external_add_user($user)) !== false) { //log in the user $loginFailed = false; $_user['user_id'] = $chamilo_uid; + $_user['uidReset'] = true; api_session_register('_user'); + $uidReset=true; + //Autosubscribe to courses if(!empty($user['courses'])){ $autoSubscribe = explode('|', $user['courses']); diff --git a/main/auth/external_logininfo/updateUser.php b/main/auth/external_logininfo/updateUser.php index bfafe5d2b3..bafa6cd4b5 100644 --- a/main/auth/external_logininfo/updateUser.php +++ b/main/auth/external_logininfo/updateUser.php @@ -16,15 +16,25 @@ $user['lastname'] = $new_user['lastname']; $user['status'] = $new_user['status']; $user['admin'] = $new_user['admin']; $user['email'] = $new_user['email']; -$user['username'] = $new_user['login']; +$user['username'] = $new_user['username']; $user['profile_link'] = $new_user['profile_link']; $user['worldwide_bu'] = $new_user['worldwide_bu']; $user['manager'] = $new_user['manager']; $user['country_bu'] = $new_user['country_bu']; $user['extra'] = $new_user['extra']; -if ($new_user !== false) { - $new_user['user_id'] = $uData['user_id']; - external_update_user($new_user); -} +if ($new_user !== false) { //User can login + external_update_user($user); + $loginFailed = false; + $_user['user_id'] = $user['user_id']; + $_user['uidReset'] = true; + $uidReset=true; + api_session_register('_user'); +} else { //User cannot login + $loginFailed = true; + api_session_unregister('_uid'); + header('Location: '.api_get_path(WEB_PATH).'index.php?loginFailed=1&error=user_password_incorrect'); + exit; +} + ?>