Autor Tema: error al vincular usuarios a moodle - G3.18.0  (Leído 185 veces)

0 Usuarios y 1 Visitante están viendo este tema.

pablo_unq

  • Guarani
  • *
  • Mensajes: 826
    • Ver Perfil
    • Email
  • Institución: Uiversidad Nacional de Quilmes
  • Nombre y apellido: pablo romero
  • Sistema: siu_guarani2,siu_guarani3,sanaviron,quilmes,wichi
  • Utilizo algun sistéma del SIU: Sí
error al vincular usuarios a moodle - G3.18.0
« on: Abril 01, 2022, 10:24:40 am »
Hola:

Al vincular los usuarios a moodle, ./guarani vincular_usuarios_moodle, nos tiraba error cuando los apellidos o nombres, tenian un caracter especial (ej: ',D'Alessandro), lo pudimos solucionar, modificando el archivo
/gestion/php/extension_toba/guarani_modelo.php,

entre lineas 2649 y 2654

original:

$id      = $usuario_moodle['id'];
               $username   = addslashes($usuario_moodle['username']);
               $firstname   = addslashes($usuario_moodle['firstname']);
               $lastname   = addslashes($usuario_moodle['lastname']);
               $fullname   = addslashes($usuario_moodle['fullname']);
               $email          = (isset($usuario_moodle['email']))?$usuario_moodle['email'] : '';
               $email          = addslashes($email);
               $values[] = "($id, '$username', '$firstname', '$lastname', '$fullname', '$email')";
por:

                                        $username  pg_escape_string($usuario_moodle['username']);
               $firstname   = pg_escape_string($usuario_moodle['firstname']);
               $lastname   = pg_escape_string($usuario_moodle['lastname']);
               $fullname   = pg_escape_string($usuario_moodle['fullname']);
               $email          = (isset($usuario_moodle['email']))? $usuario_moodle['email'] : '';
               $email          = pg_escape_string($email);

Saludos!!!
Pablo.

Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 3033
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: SIU-Guaraní
  • Utilizo algun sistéma del SIU: Sí
Re:error al vincular usuarios a moodle - G3.18.0
« Respuesta #1 on: Abril 01, 2022, 10:40:08 am »
Hola Pablo, gracias por reportarlo!!!

Vamos a probarlo e incorporarlo para la próxima versión!!!

saludos.
2

Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 3033
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: SIU-Guaraní
  • Utilizo algun sistéma del SIU: Sí
Re:error al vincular usuarios a moodle - G3.18.0
« Respuesta #2 on: Abril 01, 2022, 01:26:54 pm »
Hola Pablo,

Hice la prueba y no pude reproducir el problema con la función addslashes, en Guaraní y Moodle utilice el nombre Chicago O'Hare y el apellido D'Alessandro, elegí que vincule por la columna fullname, pero me vinculo bien.

Igualmente vamos a cambiar por la función pg_escape_string si es que a ustedes le dio error.

¿nos podes contar mas sobre el caso así lo podemos reproducir?

saludos.
2


pablo_unq

  • Guarani
  • *
  • Mensajes: 826
    • Ver Perfil
    • Email
  • Institución: Uiversidad Nacional de Quilmes
  • Nombre y apellido: pablo romero
  • Sistema: siu_guarani2,siu_guarani3,sanaviron,quilmes,wichi
  • Utilizo algun sistéma del SIU: Sí
Re:error al vincular usuarios a moodle - G3.18.0
« Respuesta #3 on: Abril 01, 2022, 02:47:12 pm »
Hola:

1 - ./guarani vincular_usuarios_moodle

 1.1 -- Columna ID : 1
 
1.2 Seleccione valores pertenecientes a la columna "ID"
 (Puede seleccionar varios valores separandolos por ",")

username

Este es el error q nos tiraba:

Cambie el dni: de la persona:

[ERROR][guarani] SQLSTATE[42601]: Syntax error: 7 ERROR:  error de sintaxis en o cerca de «ERARIO»
LINE 1: ...ahoo.com.ar'), (945, '1111111', 'ANA CLARA', 'D\'ERARIO', '...
                                                             ^
[ERROR][guarani] toba_error_db:
ERROR ejecutando SQL:
 [CODIGO]: 7
 [SQLSTATE]: db_42601
 [MENSAJE]: ERROR:  error de sintaxis en o cerca de «ERARIO»
LINE 1: ...ahoo.com.ar'), (945, '35725962', 'ANA CLARA', 'D\'ERARIO', '...
                                                             ^
 [SQL EJECUTADA]: INSERT INTO _temp_usuarios_moodle (id, username, firstname, lastname, fullname, email) VALUES ( ....






Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 3033
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: SIU-Guaraní
  • Utilizo algun sistéma del SIU: Sí
Re:error al vincular usuarios a moodle - G3.18.0
« Respuesta #4 on: Abril 01, 2022, 03:57:35 pm »
Hola Pablo, pude reproducir el caso:

Con la función addslashes la query falla:
Código: [Seleccionar]
INSERT INTO _temp_usuarios_moodle (id, username, firstname, lastname, fullname, email) VALUES (24, '35725962', 'ANA CLARA', 'D\'ERARIO', 'ANA CLARA D\'ERARIO', 'pruebasguarani3+53789456@gmail.com');
Con la función pg_escape_string funciona bien:
Código: [Seleccionar]
INSERT INTO _temp_usuarios_moodle (id, username, firstname, lastname, fullname, email) VALUES (24, '35725962', 'ANA CLARA', 'D''ERARIO', 'ANA CLARA D''ERARIO', 'pruebasguarani3+53789456@gmail.com');
Gracias por el aporte, esto saldrá en la versión 3.20.2 y 3.21.0 seguramente.

saludos.
2
« Última Modificación: Abril 01, 2022, 04:50:23 pm por Leonel Leonardis »