예제 #1
0
if ($options['debug']) {
    $debug = true;
}
cli_heading('Sync pictures');
// TODO: localize
$now = new DateTime();
echo $now->format('Y-m-d H:i:s');
$usersidnumber = $DB->get_records_sql("\n    SELECT * \n    FROM {user} AS u\n    WHERE u.username LIKE '%uai.cl' \n    AND (u.idnumber is null OR length(u.idnumber) = 0)");
echo count($usersidnumber) . " alumnos sin RUT\n";
$moodleusers = array();
foreach ($usersidnumber as $userinmoodle) {
    $moodleusers[$userinmoodle->email] = $userinmoodle;
}
echo "Conectandose a BD Omega\n";
$omega = new omega();
$usuariosOmega = $omega->obtieneImagenesUsuario();
echo count($usuariosOmega) . " alumnos encontrados en Omega\n";
$imagenesusuarios = obtiene_imagenes_usuarios();
echo count($imagenesusuarios) . " imágenes de alumnos encontrados\n";
// First fix id numbers as pictures are identified by idnumber
$total = 0;
$fixed = 0;
foreach ($usuariosOmega as $email => $usuario) {
    $total++;
    // Check if the user idnumber is missing
    if (isset($moodleusers[$email])) {
        $moodleuser = $moodleusers[$email];
        // Check that the idnumber has not been used before
        if ($userwithrut = $DB->get_record('user', array('idnumber' => $usuario['rut']))) {
            if ($moodleuser->id != $userwithrut->id) {
                echo "PROBLEM: User " . $userwithrut->email . " has the same idnumber " . $usuario['rut'] . " than " . $email . "\n";