|
|
@ -25,8 +25,11 @@ function cursoPublico($course) { |
|
|
|
global $DB; |
|
|
|
|
|
|
|
// Um curso é público se estiver marcado como público em campo personalizado |
|
|
|
$publico = (obtemCampoCustomizadoCurso($course->id, CURSO_CUSTOMFIELD_PUBLICO) == '1'); |
|
|
|
return $publico; |
|
|
|
if(obtemCampoCustomizadoCurso($course->id, CURSO_CUSTOMFIELD_PUBLICO) === '1') { |
|
|
|
return true; |
|
|
|
} else { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function cursoCargaHoraria($course) { |
|
|
@ -47,6 +50,20 @@ function evlSiglaEscola() { |
|
|
|
return $config->config_sigla_evl; |
|
|
|
} |
|
|
|
|
|
|
|
function evlMunicipio() { |
|
|
|
$config = get_config('block_escola_modelo'); |
|
|
|
return $config->config_municipio; |
|
|
|
} |
|
|
|
|
|
|
|
function evlUF() { |
|
|
|
$config = get_config('block_escola_modelo'); |
|
|
|
return $config->config_uf; |
|
|
|
} |
|
|
|
|
|
|
|
function evlMunicipioUF() { |
|
|
|
return evlMunicipio() . '(' . evlUF() . ')'; |
|
|
|
} |
|
|
|
|
|
|
|
function evlAPIKey() { |
|
|
|
$config = get_config('block_escola_modelo'); |
|
|
|
return $config->config_apikey; |
|
|
@ -62,6 +79,11 @@ function evlURLWebServices() { |
|
|
|
return $config->config_url_ws_evl; |
|
|
|
} |
|
|
|
|
|
|
|
function evlURLCentralAutenticacao() { |
|
|
|
$config = get_config('block_escola_modelo'); |
|
|
|
return $config->config_url_central_autenticacao; |
|
|
|
} |
|
|
|
|
|
|
|
// TODO mover para outro local, usado também em certificado |
|
|
|
function obtemCampoCustomizadoCurso($idCurso, $nomeCampo) { |
|
|
|
global $DB; |
|
|
@ -81,15 +103,19 @@ function obtemCampoCustomizadoCurso($idCurso, $nomeCampo) { |
|
|
|
"; |
|
|
|
|
|
|
|
$valueArray = $DB->get_record_sql($sql, [$idCurso, $nomeCampo]); |
|
|
|
$value = $valueArray->value; |
|
|
|
$options = $valueArray->options; |
|
|
|
|
|
|
|
if($options == null) { |
|
|
|
return $value; |
|
|
|
} else { |
|
|
|
if($valueArray) { |
|
|
|
$value = $valueArray->value; |
|
|
|
$options = $valueArray->options; |
|
|
|
|
|
|
|
$optionsArray = preg_split("/\s*\n\s*/", trim($options)); |
|
|
|
return $optionsArray[$value-1]; |
|
|
|
if($options == null) { |
|
|
|
return $value; |
|
|
|
} else { |
|
|
|
$optionsArray = preg_split("/\s*\n\s*/", trim($options)); |
|
|
|
return $optionsArray[$value-1]; |
|
|
|
} |
|
|
|
} else { |
|
|
|
return ''; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -120,7 +146,6 @@ function atualizaCursoEVL($curso, $visivel = null) { |
|
|
|
if( evlHabilitada() ) { |
|
|
|
// Detecta status, caso ele não tenha sido especificado |
|
|
|
$visivel = $visivel ?? cursoPublico($curso); |
|
|
|
|
|
|
|
$ch = cursoCargaHoraria($curso); |
|
|
|
|
|
|
|
$school = $DB->get_record('course',array('id'=>'1')); |
|
|
@ -151,13 +176,16 @@ function atualizaCursoEVL($curso, $visivel = null) { |
|
|
|
"description" => $curso->summary, |
|
|
|
"logo" => "$urlLogo", |
|
|
|
"ead_id" => $curso->id, |
|
|
|
"visible" => $visivel, |
|
|
|
"conteudista" => "", |
|
|
|
"visible" => $visivel?true:false, |
|
|
|
"conteudista" => evlSiglaEscola(), |
|
|
|
"certificador" => evlSiglaEscola(), |
|
|
|
"carga_horaria" => $ch, |
|
|
|
"category" => strtolower(obtemCampoCustomizadoCurso($curso->id, CURSO_CUSTOMFIELD_AREATEMATICA)) |
|
|
|
); |
|
|
|
|
|
|
|
//print_r($camposCurso); |
|
|
|
|
|
|
|
|
|
|
|
// Monta o JSON que será enviado ao Web Service |
|
|
|
$obj->school = evlSiglaEscola(); |
|
|
|
$obj->course = $camposCurso; |
|
|
@ -276,7 +304,7 @@ function atualizaMatriculaEVL($courseid, $userlist, $publicEVL) { |
|
|
|
|
|
|
|
$school = $DB->get_record('course',array('id'=>'1')); |
|
|
|
|
|
|
|
$uri = $CFG->emURLWS . '/api/v1/cursos/registrar/'; |
|
|
|
$uri = evlURLWebServices() . '/api/v1/cursos/registrar/'; |
|
|
|
|
|
|
|
$obj = new StdClass(); |
|
|
|
|
|
|
@ -430,3 +458,47 @@ function atualizaDadosEscola($dadosEscola) { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//////////// |
|
|
|
|
|
|
|
// Redireciona usuários inscritos localmente, mas não remotamente, |
|
|
|
// para preencherem quiz na EVL e assim realizarem inscrição remota |
|
|
|
function require_evl_ready($id) { |
|
|
|
if(evlHabilitada()) { |
|
|
|
// verifica se usuário respondeu quiz no EVL |
|
|
|
// chama ws, pega result |
|
|
|
global $CFG, $USER; |
|
|
|
|
|
|
|
// // Monta url para redirecionamento após matrícula |
|
|
|
$urlRedirect = new moodle_url("/course/view.php?id=", array('id' => $id)); |
|
|
|
|
|
|
|
$obj = new StdClass(); |
|
|
|
$obj->school = evlSiglaEscola(); |
|
|
|
$obj->school_course = $id; |
|
|
|
$obj->key = evlAPIKey(); |
|
|
|
$obj->user = $USER->username; |
|
|
|
$obj->redirect = $urlRedirect->out(false); // false evita codificar '&' na url de redirecionamento |
|
|
|
|
|
|
|
$json = json_encode($obj); |
|
|
|
|
|
|
|
$uri = $CFG->emURLWS . '/cursos/registro/quiz'; |
|
|
|
$response = \Httpful\Request::get($uri) |
|
|
|
->sendsJson() |
|
|
|
->body($json) |
|
|
|
->send(); |
|
|
|
|
|
|
|
if(!$response->body->result){ |
|
|
|
// // Monta url para matrícula |
|
|
|
// echo "TESTE"; |
|
|
|
$urlEnrol = new moodle_url(evlURLWebServices() . '/cursos/registro?school=', |
|
|
|
array( |
|
|
|
'school' => evlSiglaEscola(), |
|
|
|
'school_course' => $id, |
|
|
|
'key' => evlAPIKey(), |
|
|
|
'redirect' => $urlRedirect->out(false) // false evita codificar '&' na url de redirecionamento |
|
|
|
)); |
|
|
|
redirect($urlEnrol, 'Você será redirecionado para a EVL', 0); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|