Olá, gostaria de saber sé e possível obter o usuário ou alguma informação do usuário que está logado, sem ter que mexer no código fonte do moodle. Não tenho acesso ao código fonte nem ao banco apenas a aplicação e os webservice, preciso colocar um link de um site externo dentro de cada curso e quando alguém clicar nesse link já fazer o login nesse site externo. Isso é possível?
podes fazer um plugin de autenticação. É alternativa mais segura
Esqueci de comentar, não consigo incluir plugins. está bloqueado pela empresa que fornece a aplicação.
Você vai precisar subir em uma pasta do Moodle isso não terá como pois você precisa do arquivo config.
Mas seria basicamente isso
equire('../config.php');
$username = optional_param('username', 0, PARAM_INT);
$signature = optional_param('id', '', PARAM_TEXT);
$PAGE->https_required();
$user = $DB->get_record('user', array('username'=>$username, 'deleted'=>0, 'suspended'=>0));
add_to_log(SITEID, 'user', 'login', "view.php?id=$USER->id&course=".SITEID,$user->id, 0, $user->id);
complete_user_login($user);
update_login_count();
redirect($CFG->wwwroot.'/index.php');
Mas seria basicamente isso
equire('../config.php');
$username = optional_param('username', 0, PARAM_INT);
$signature = optional_param('id', '', PARAM_TEXT);
$PAGE->https_required();
$user = $DB->get_record('user', array('username'=>$username, 'deleted'=>0, 'suspended'=>0));
add_to_log(SITEID, 'user', 'login', "view.php?id=$USER->id&course=".SITEID,$user->id, 0, $user->id);
complete_user_login($user);
update_login_count();
redirect($CFG->wwwroot.'/index.php');