Deberá crear un complemento local.
http://docs.moodle.org/dev/Local_plugins
Cree el complemento en /local/myplugnname
Crea un archivo events.php
/local/mypluginname/db/events.php
Con esto
$handlers = array (
'course_completed' => array (
'handlerfile' => '/local/mypluginname/lib.php',
'handlerfunction' => 'local_mypluginname_course_completed',
'schedule' => 'cron',
'internal' => 1,
),
Eche un vistazo aquí para obtener más información http://docs.moodle.org/dev/Events_API# Manejo_de_un_evento
Necesitará un archivo version.php para instalar el complemento y agregar el controlador de eventos.
Luego crea una función
function local_mypluginname_course_completed($eventdata)
en
/local/mypluginname/lib.pgp
Esto se llamará cuando se ejecute el cron
Para averiguar el contenido de $eventdata, eche un vistazo a
events_trigger('course_completed', $this->get_record_data());
en
/completion/completion_completion.php
Para actualizar una base de datos remota, eche un vistazo al código en autenticación db
/auth/db/auth.php
Algo como
$mydb = ADONewConnection('mysql');
$mydb->Connect($dbhost, $dbuser, $dbpass, $dbname, false);
$mydb->Execute($insertsql);
$mydb->Close();