public function execute()
{
global $CFG, $DB;
require_once "{$CFG->libdir}/datalib.php";
$username = $this->arguments[0];
$options = $this->expandedOptions;
if ($options['id']) {
$user = $DB->get_record('user', array('id' => $username), '*', MUST_EXIST);
} else {
$user = $DB->get_record('user', array('username' => $username), '*', MUST_EXIST);
}
$auth = empty($user->auth) ? 'manual' : $user->auth;
if ($auth == 'nologin' or !is_enabled_auth($auth)) {
cli_error(sprintf("User authentication is either 'nologin' or disabled. Check Moodle authentication method for '%s'", $user->username));
}
$authplugin = get_auth_plugin($auth);
$authplugin->sync_roles($user);
login_attempt_valid($user);
complete_user_login($user);
printf("%s:%s\n", session_name(), session_id());
}