Você precisará criar um plugin local.
http://docs.moodle.org/dev/Local_plugins
Crie o plugin em /local/myplugnname
Crie um arquivo events.php
/local/mypluginname/db/events.php
Com isso
$handlers = array (
'course_completed' => array (
'handlerfile' => '/local/mypluginname/lib.php',
'handlerfunction' => 'local_mypluginname_course_completed',
'schedule' => 'cron',
'internal' => 1,
),
Dê uma olhada aqui para mais informações http://docs.moodle.org/dev/Events_API# Handling_an_event
Você precisará de um arquivo version.php para instalar o plugin e adicionar o manipulador de eventos.
Em seguida, crie uma função
function local_mypluginname_course_completed($eventdata)
dentro
/local/mypluginname/lib.pgp
Isso será chamado quando o cron for executado
Para descobrir o conteúdo de $eventdata, dê uma olhada em
events_trigger('course_completed', $this->get_record_data());
dentro
/completion/completion_completion.php
Para atualizar um banco de dados remoto, dê uma olhada no código na autenticação db
/auth/db/auth.php
Algo como
$mydb = ADONewConnection('mysql');
$mydb->Connect($dbhost, $dbuser, $dbpass, $dbname, false);
$mydb->Execute($insertsql);
$mydb->Close();