Este post mostra código PHP para efetuar consulta do progresso do aluno as atividades de um curso do Moodle. Isso será feito via webservice com linguagem PHP.
Para usar este código, instale no Moodle o plugin restjonson, protocolo de comunicação json para webservice.
O resultado do webservice traz informação de conclusão da atividade na coluna status. Segue a tabela de domínio dos valores dessa coluna: 0 - incomplete, 1 - complete, 2 - complete pass e 3 - complete fail
//url de acesso $remotemoodle="xxxxxxxxxx"; //MOODLE_URL - endereço do Moodle $url=$remotemoodle . '/webservice/restjson/server.php'; //parametros a ser passado ao webservice $param=array(); $param['wstoken']="xxxxxx"; //token de acesso ao webservice $param['wsfunction']="core_completion_get_activities_completion_status"; //especificar usuário $param['userid']=4; //especifique do usuário. Clique aqui e veja como recuperar id do usuário. $param['courseid']=67; //especifique id do curso //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); //imprimindo resultado print_r($result);