. /** * Script utilitário para matrículas via EVL. * * @package enrol_evl * @author Interlegis * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require("../../config.php"); require_once("$CFG->dirroot/enrol/evl/lib.php"); // 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 // Assegura que existe o curso em que usuário tentou se matricular if (!$course = $DB->get_record("course", array("id" => $id))) { redirect($CFG->wwwroot); } // Assegura que usuário está logado require_login(); // Obtem url de redirecionamento, para acesso ao curso if (isset($SESSION->wantsurl)) { $destination = $SESSION->wantsurl; unset($SESSION->wantsurl); } else { $destination = "{$CFG->wwwroot}/course/view.php?id={$course->id}"; } // Obtem contexto do curso $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() */) { // 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 if (is_enrolled($context, null, '', true) || true) { // Redireciona usuário para página do curso redirect($destination, get_string('enrol_success', 'enrol_evl', $fullname)); } else { $PAGE->set_context($context); $PAGE->set_url($destination); echo $OUTPUT->header(); notice(get_string('enrol_error', 'enrol_evl'), $destination); echo $OUTPUT->footer(); } } else { $PAGE->set_context($context); $PAGE->set_url($destination); echo $OUTPUT->header(); notice(get_string('enrol_error', 'enrol_evl'), $destination); echo $OUTPUT->footer(); }