Inscrever aluno no curso do Moodle via webservice com PHP

Inscrever aluno no curso do Moodle via webservice com PHP

por Lino Vaz Moniz -
Número de respostas: 0

Este post mostra código PHP para inscrever aluno no curso da Plataforma Moodle.

Para usar este código, instale no Moodle o plugin restjonson, protocolo de comunicação json para webservice. 

Segue código do cliente PHP para efetuar matrícula de alunos no curso.  

 
 //url de acesso
  $remotemoodle="xxxxxx"; //endereço do Moodle MOODLE_URL
  $url=$remotemoodle . '/webservice/restjson/server.php';

  //parametros a ser passado ao webservice
  $param=array();
  $param['wstoken']="xxxxxxx"; //token do webservice
  $param['wsfunction']="enrol_manual_enrol_users";
  
  //Usuário 1 a ser cadastrado
  $param['enrolments'][0]['roleid']=5; //id do perfil por padrão 5 é para perfil aluno
  $param['enrolments'][0]['userid']=10; //id do usuário. Clique aqui e veja como recuperar id  do usuário.
  $param['enrolments'][0]['courseid']=66; // id do curso
  $param['enrolments'][0]['timestart']=1579631944; //data de início de inscrição em formato numérico
  $param['enrolments'][0]['timeend']=1584815944;
  $param['enrolments'][0]['suspend']=0;
  
   //Usuário 2 a ser cadastrado
  $param['enrolments'][1]['roleid']=5;
  $param['enrolments'][1]['userid']=11;
  $param['enrolments'][1]['courseid']=66;
  $param['enrolments'][1]['timestart']=1579631944;
  $param['enrolments'][1]['timeend']=1584815944;
  $param['enrolments'][1]['suspend']=0;
  
	
	//converter array para json
  $paramjson = json_encode($param)
  ;
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, 0);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $paramjson);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $result = curl_exec($ch);
 // $result =json_decode($result);