Criar curso no Moodle com PHP

Criar curso no Moodle com PHP

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

Este código tem por objetivo mostrar como criar um curso na Plataforma Moodle usando API do Moodle.

Este código, atualiza o post atualiza a postagem feita em 2010  no Blog Moodle SQL que mostra como criar curso com comando SQL. Agora ao invés de SQL, usa API do Moodle. A vantagem do API é que resolve o problema de cache que aparece o usar apenas instruções SQL.

Código completo

 //importar biblioteca de moodle
require_once("../config.php");
//importar biblioteca 
require("$CFG->dirroot/course/externallib.php");

//requer que o usuário esteja logado
 require_login();
 
 //requer ter permissão de admin
 if(!has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM))){
     echo "Falha de permissao. Apenas adminitrador do Moodle deve criar curso";
     exit;
 }
//perâmetros que devem ser passados
$course['fullname'] = "Nome do meu curso_".time();
$course['shortname'] ="Nome breve do meu curso_".time();
$course['categoryid'] =2;  

//criar curso
$courses = array($course);
 $result = core_course_external::create_courses($courses);
$result=$result[0]['id'];

//imprimir resultado
print_r($result);

Download do código

Para executar esses códigos, crie uma pasta _extra ou qualquer outra no Moodle. Dentro dessa pasta, crie um arquivo createcurse.php e copie o código e cole. Ou então faça download do aquivo e coloque nessa pasta ou qualquer outro. 

Versão do Moodle

Os códigos acima foi testado na  versão  3.5  do Moodle. Deve funcionar em toda versão da família 3.x e certamente nas versões mais recentes da família 2.x