Este post apresenta a codificação PHP para extrair um relatório sobre a configuração do período da validade de inscrição do curso no Moodle. O código PHP usa as bibliotecas de funções do ambiente do Moodle.
Para entender as regras de funcionamento sobre o tempo de validade de inscrição no ambiente Moodle leia o seguinte post: http://moodlesql.blogspot.com/2010/11/desmistificando-periodo-de-inscricao-do.html
Então vamos iniciar a programação. Siga os passos a seguir.
1° Passo
Importe a biblioteca de funções do Moodle:
require_once("../config.php");
2° Passo
Fazer consulta no banco de dados:
Essa consulta extrai a informações do banco de dados sobre a configuração do curso. A informação que mais nos interessa está na coluna enrolperiod. Esse campo traz a quantidade de dias em segundo sobre a validade de inscrição.
3° PassoImprimir relatório:
O relatório é organizado em uma tabela que com quatros colunas:
$periodo=$curso->enrolperiod/60/60/24;
A primeira divisão por 60 converte para minutos. A segunda divisão por 60 converte para hora. A terceira divisão por 24 converte para dia.
Essa configuração é usada no momento da inscrição do aluno ou tutor no curso para calcular a data final da validade de inscrição.
Código Completo
Até então vimos o código em pedaço. Juntando tudo fica assim:
<?php
require_once("../config.php");
$sql="SELECT id,fullname,startdate,enrolperiod FROM {$CFG->prefix}course";
$cursos=get_records_sql($sql);
$periodo="";
?>
<table border="1">
<tr>
<td><b>Id</b></td>
<td><b>Curso</b></td>
<td><b>Data de Inicio</b></td>
<td><b>Configuração da Inscrição</b></td>
</tr>
<? foreach ($cursos as $curso){
//formatar data
$dataInicio=$curso->startdate;
if($dataInicio==0){$dataInicio="--";}
else {$dataInicio=date("d/m/Y",$curso->startdate);}
if($curso->enrolperiod==0){
$periodo="Ilimitado";
}else{
$periodo=$curso->enrolperiod/60/60/24;
$periodo=$periodo." dia";
}
?>
<tr>
<td><?=$curso->id?></td>
<td><?=$curso->fullname?></td>
<td><?= $dataInicio?></td>
<td><?=$periodo?></td>
<?}?>
</table>
Para entender as regras de funcionamento sobre o tempo de validade de inscrição no ambiente Moodle leia o seguinte post: http://moodlesql.blogspot.com/2010/11/desmistificando-periodo-de-inscricao-do.html
Então vamos iniciar a programação. Siga os passos a seguir.
1° Passo
Importe a biblioteca de funções do Moodle:
require_once("../config.php");
2° Passo
Fazer consulta no banco de dados:
$sql="SELECT id,fullname,startdate,enrolperiod FROM {$CFG->prefix}course";
$cursos=get_records_sql($sql);
$periodo="";
Essa consulta extrai a informações do banco de dados sobre a configuração do curso. A informação que mais nos interessa está na coluna enrolperiod. Esse campo traz a quantidade de dias em segundo sobre a validade de inscrição.
3° PassoImprimir relatório:
<table border="1">
<tr>
<td><b>Id</b></td>
<td><b>Curso</b></td>
<td><b>Data de Inicio</b></td>
<td><b>Configuração da Inscrição</b></td>
</tr>
<? foreach ($cursos as $curso){
//formatar data
$dataInicio=$curso->startdate;
if($dataInicio==0){$dataInicio="--";}
else {$dataInicio=date("d/m/Y",$curso->startdate);}
if($curso->enrolperiod==0){
$periodo="Ilimitado";
}else{
$periodo=$curso->enrolperiod/60/60/24;
$periodo=$periodo." dia";
}
?>
<tr>
<td><?=$curso->id?></td>
<td><?=$curso->fullname?></td>
<td><?= $dataInicio?></td>
<td><?=$periodo?></td>
<?}?>
</table>
O relatório é organizado em uma tabela que com quatros colunas:
- Id - Id do curso
- Curso – Nome do curso
- Data inicial – Data em que o curso será iniciado
- Configuração da Inscrição – Indica a quantidade de dias da validade da inscrição.
$periodo=$curso->enrolperiod/60/60/24;
A primeira divisão por 60 converte para minutos. A segunda divisão por 60 converte para hora. A terceira divisão por 24 converte para dia.
Essa configuração é usada no momento da inscrição do aluno ou tutor no curso para calcular a data final da validade de inscrição.
Código Completo
Até então vimos o código em pedaço. Juntando tudo fica assim:
<?php
require_once("../config.php");
$sql="SELECT id,fullname,startdate,enrolperiod FROM {$CFG->prefix}course";
$cursos=get_records_sql($sql);
$periodo="";
?>
<table border="1">
<tr>
<td><b>Id</b></td>
<td><b>Curso</b></td>
<td><b>Data de Inicio</b></td>
<td><b>Configuração da Inscrição</b></td>
</tr>
<? foreach ($cursos as $curso){
//formatar data
$dataInicio=$curso->startdate;
if($dataInicio==0){$dataInicio="--";}
else {$dataInicio=date("d/m/Y",$curso->startdate);}
if($curso->enrolperiod==0){
$periodo="Ilimitado";
}else{
$periodo=$curso->enrolperiod/60/60/24;
$periodo=$periodo." dia";
}
?>
<tr>
<td><?=$curso->id?></td>
<td><?=$curso->fullname?></td>
<td><?= $dataInicio?></td>
<td><?=$periodo?></td>
<?}?>
</table>
Implementar no Moodle
Para executar esse código no Moodle, crie uma pasta denominado _extra dentro da raiz da instalação do Moodle. Em seguida, crie um arquivo denominado curso_pvalidade_inscricao.php dentro da pasta _extra. Coloque o código php nesse arquivo.
Feito isso, acesse o endereço:
http://[endereço do moodle]/_extra/curso_pvalidade_inscricao.php
Download
Se estiver com preguiça de criar o arquivo e digitar o código, faça download desse exemplo. Descompacte o arquivo e cole na pasta _extra na raiz do seu Moodle. Caso a pasta _extra não exista ainda, crie-a. Agora faça o teste.
Esse código foi testado na versão 1.9.3 mas pode funcionar em qualquer versão do Moodle que use as funções do PDO para manipular a base de dados. Não funciona na versão 2.0.
Veja Também:
Desmistificando Período de Inscrição do Curso no Moodle com Comando SQL
Relatório do Período da Validade da Inscrição dos Participantes no Curso do Moodle com Programação PHP
Data de inscrição do aluno no curso do Moodle