From 98b973f44ae441fb5676f2700911600ec138302b Mon Sep 17 00:00:00 2001 From: Matheus Garcia Date: Mon, 1 Oct 2018 14:44:11 -0300 Subject: [PATCH] =?UTF-8?q?Ajustes=20em=20eventos=20para=20integra=C3=A7?= =?UTF-8?q?=C3=A3o=20com=20escola=20modelo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/observer.php | 89 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 77 insertions(+), 12 deletions(-) diff --git a/classes/observer.php b/classes/observer.php index e46e4cb..1e93f14 100644 --- a/classes/observer.php +++ b/classes/observer.php @@ -1,5 +1,7 @@ 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);