<?php //Script loaded by local.inc.php providing update user information of type external_logininfo. /* This script must not exit. */ use ChamiloSession as Session; require_once dirname(__FILE__) . '/functions.inc.php'; //MAIN CODE //$uData variable is set in local.inc.php $user = api_get_user_info($uData['user_id']); $new_user = external_get_user_info($login); $user['firstname'] = $new_user['firstname']; $user['lastname'] = $new_user['lastname']; $user['status'] = $new_user['status']; $user['admin'] = $new_user['admin']; $user['email'] = $new_user['email']; $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) { //User can login external_update_user($user); $loginFailed = false; $_user['user_id'] = $user['user_id']; $_user['uidReset'] = true; $uidReset = true; Session::write('_user', $_user);
This file is loaded by main/inc/local.inc.php To use it please add this line to main/inc/conf/configuration.php : $extAuthSource["external_logininfo"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_logininfo/newUser.php"; You also have to implements the external_get_user_info function in functions.inc.php */ use ChamiloSession as Session; require_once api_get_path(LIBRARY_PATH) . 'usermanager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'course.lib.php'; require_once dirname(__FILE__) . '/functions.inc.php'; //MAIN CODE //$login and $password variables are setted in main/inc/local.inc.php if ($password != DEFAULT_PASSWORD) { $user = false; } else { $user = external_get_user_info($login, $password); } if ($user !== false && ($chamilo_uid = external_add_user($user)) !== false) { //log in the user $loginFailed = false; $_user['user_id'] = $chamilo_uid; $_user['uidReset'] = true; Session::write('_user', $_user); $uidReset = true; //Autosubscribe to courses if (!empty($user['courses'])) { $autoSubscribe = explode('|', $user['courses']); foreach ($autoSubscribe as $code) { if (CourseManager::course_exists($code)) { CourseManager::subscribe_user($_user['user_id'], $code); }