|
|
@ -1,5 +1,7 @@ |
|
|
|
<?php |
|
|
|
|
|
|
|
require_once($CFG->dirroot.'/config.php'); |
|
|
|
|
|
|
|
include('httpful.phar'); |
|
|
|
|
|
|
|
class block_escola_modelo_observer { |
|
|
@ -8,31 +10,94 @@ class block_escola_modelo_observer { |
|
|
|
// EVENTOS RELACIONADOS A CURSOS |
|
|
|
// |
|
|
|
|
|
|
|
/* |
|
|
|
{ |
|
|
|
"course": { |
|
|
|
"name": "nome do curso", |
|
|
|
"url": "url do curso", |
|
|
|
"course_load": "carga horário do curso", |
|
|
|
"description": "descrição do curso", |
|
|
|
"logo":"endereco da logo", |
|
|
|
"ead_id": "id do curso no moodle" |
|
|
|
} |
|
|
|
} |
|
|
|
*/ |
|
|
|
public static function course_created(\core\event\base $event) { |
|
|
|
global $DB, $CFG; |
|
|
|
$dados = $DB->get_record($event->objecttable,array('id'=>$event->objectid)); |
|
|
|
$uri = 'http://localhost:3000/api/v1/courses/adicionar/'; |
|
|
|
$curso = $DB->get_record($event->objecttable,array('id'=>$event->objectid)); |
|
|
|
|
|
|
|
$idnumber = $curso->idnumber; |
|
|
|
preg_match("/\_CH([0-9]+)/", $idnumber, $x); |
|
|
|
$ch = $x[1]; |
|
|
|
|
|
|
|
//$escola = $DB->get_record("{course}",array('id'=>$curso->)); |
|
|
|
$uri = 'https://escolamodelows.interlegis.leg.br/api/v1/cursos/adicionar/'; |
|
|
|
|
|
|
|
$obj = new StdClass(); |
|
|
|
|
|
|
|
$camposCurso = array( |
|
|
|
"name" => $curso->fullname, |
|
|
|
"url" => "", // fixme não deve haver esse campo |
|
|
|
"course_load" => $ch, // fixme como obter esse campo no Moodle |
|
|
|
"description" => $curso->summary, |
|
|
|
"logo" => "", // fixme não deve ter esse campo |
|
|
|
"ead_id" => $curso->id |
|
|
|
); |
|
|
|
|
|
|
|
$obj->course = $camposCurso; |
|
|
|
$obj->school = "SSL"; |
|
|
|
$obj->category = "1"; |
|
|
|
$json = json_encode($obj); |
|
|
|
|
|
|
|
$response = \Httpful\Request::post($uri) |
|
|
|
->sendsJson() |
|
|
|
->body('{"course":{"name":"' . $dados->fullname . '","course_category_id":"' . "1" . '","ead_id":"' . $dados->id . '","school_id":"' . "1" . '","url":"' . "/course/view.php" . '","description":"' . $dados->summary . '"}}') // o json é {"curso":{"nome":"nome_curso"}} |
|
|
|
->body($json) |
|
|
|
->send(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
{ |
|
|
|
"school": "iniciais", |
|
|
|
"course": { |
|
|
|
"name": "nome do curso", |
|
|
|
"url": "url do curso", |
|
|
|
"course_load": "carga horário do curso", |
|
|
|
"description": "descrição do curso", |
|
|
|
"logo":"endereco da logo, se vazio permanece a logo atual e para remover deve ser enviado o texto 'remover' ", |
|
|
|
"school": "iniciais da escola", |
|
|
|
"ead_id": "id do curso no moodle" |
|
|
|
} |
|
|
|
} |
|
|
|
*/ |
|
|
|
public static function course_updated(\core\event\base $event) { |
|
|
|
global $DB, $CFG; |
|
|
|
$dados = $DB->get_record($event->objecttable,array('id'=>$event->objectid)); |
|
|
|
$curso = $DB->get_record($event->objecttable,array('id'=>$event->objectid)); |
|
|
|
|
|
|
|
//echo "ID é " . $dados->id; |
|
|
|
$idnumber = $curso->idnumber; |
|
|
|
preg_match("/\_CH([0-9]+)/", $idnumber, $x); |
|
|
|
$ch = $x[1]; |
|
|
|
|
|
|
|
$uri = 'https://escolamodelows.interlegis.leg.br/api/v1/cursos/atualizar'; |
|
|
|
|
|
|
|
$obj = new StdClass(); |
|
|
|
|
|
|
|
$camposCurso = array( |
|
|
|
"name" => $curso->fullname, |
|
|
|
"url" => "", // fixme não deve haver esse campo |
|
|
|
"course_load" => $ch, // fixme como obter esse campo no Moodle |
|
|
|
"description" => $curso->summary, |
|
|
|
"logo" => "", // fixme não deve ter esse campo |
|
|
|
"school" => "SSL", // fixme criar campo no moodle |
|
|
|
"ead_id" => $curso->id |
|
|
|
); |
|
|
|
|
|
|
|
$obj->school = $CFG->school; |
|
|
|
$obj->course = $camposCurso; |
|
|
|
$json = json_encode($obj); |
|
|
|
|
|
|
|
$response = \Httpful\Request::patch($uri) |
|
|
|
->sendsJson() |
|
|
|
->body('{"course":{ |
|
|
|
"id":"1", |
|
|
|
"name":"' . $dados->fullname . '", |
|
|
|
"course_category_id":"' . "1" . '" |
|
|
|
} |
|
|
|
}') // o json é {"curso":{"nome":"nome_curso"}} |
|
|
|
->body($json) |
|
|
|
->send(); |
|
|
|
error_log("Retorno é " . $response->code); |
|
|
|
|
|
|
|