Browse Source

Ajustes para integração com EVL

master
Matheus Garcia 6 years ago
parent
commit
20b57aa4d7
  1. 1
      process.php
  2. 29
      return.php

1
process.php

@ -42,6 +42,7 @@ $urlEnrol = new moodle_url('https://escolamodelows.interlegis.leg.br/cursos/regi
array(
'school' => 'ILB', // FIXME utilizar código da escola
'school_course' => $courseid,
'key' => $USER->$idnumber,
'redirect' => $urlRedirect
)
);

29
return.php

@ -24,10 +24,12 @@
require("../../config.php");
require_once("$CFG->dirroot/enrol/evl/lib.php");
require_once("../../blocks/escola_modelo/classes/httpful.phar");
// Obtém parâmetros opcionais da URL
$id = optional_param('id', 0, PARAM_INT); // id do curso
$instanceid = optional_param('instanceid', 0, PARAM_INT); // id da instancia do enrol
$key = optional_param('key', 0, PARAM_ALPHANUM); // chave do usuário (idnumber em {user})
// Assegura que existe o curso em que usuário tentou se matricular
if (!$course = $DB->get_record("course", array("id" => $id))) {
@ -50,13 +52,11 @@ $context = context_course::instance($course->id);
// Obtem nome do curso
$fullname = format_string($course->fullname, true, array('context' => $context));
// TODO: verificar que matrícula foi bem sucedida, por meio de chamada ao web service
if( true /* matriculadoNaEvl() */) {
if( matriculadoNaEvl($key, $course->id, 'ILB') ) { // FIXME obter código da escola
// Matricula usuário na Escola Modelo
$roleid = $DB->get_field('role', 'id', array('shortname' => 'student'));
$enrol_plugin = enrol_get_plugin('evl');
$enrol_instance = $DB->get_record('enrol', array('id' => $instanceid));
//$DB->get_record("enrol", array("id" => $instanceid, "status" => 0));
$enrol_plugin->enrol_user($enrol_instance, $USER->id, $roleid);
// Assegura que foi matriculado
@ -77,3 +77,26 @@ if( true /* matriculadoNaEvl() */) {
notice(get_string('enrol_error', 'enrol_evl'), $destination);
echo $OUTPUT->footer();
}
/**
* Verifica se usuário está matriculado em determinado curso na EVL
*/
function matriculadoNaEvl($chaveUsuario, $curso, $escola) {
$uri = 'https://escolamodelows.interlegis.leg.br/cursos/confirmar';
$array = array(
"key" => $chaveUsuario,
"school" => $escola,
"course" => $curso
);
// Monta o JSON que será enviado ao Web Service
$json = json_encode($array);
$response = \Httpful\Request::post($uri)
->sendsJson()
->body($json)
->send();
return ($response = 'S');
}

Loading…
Cancel
Save