Hola a todos,
a quien le pueda interesar, he hecho un "apaño" para que el alumno no pueda acceder a la prueba de evaluación hasta que no haya hecho el 100% de los contenidos.
En mod/quiz/view.php, despues de la línea 63 ( echo '<table id="layout-table"><tr>';) he recogido 3 variables:
$usuario = $USER->id;
$curso = $COURSE->id;
$cuestionario = $quiz->id;
Y luego he ido poniendo if dependiendo del id del cuestionario:
if ($cuestionario == 1){
busco si ese alumno vio el scorm correspondiente a esa autoevaluación
$prueba="SELECT * FROM mdl_grade_grades WHERE userid='".$usuario."' AND itemid=5";
$queryPrueba=mysql_query($prueba);
echo '<br>';
si no encontró nada esque el alumno ni entró a verlo
if (mysql_num_rows($queryPrueba)==0){
echo '<table align=center><tr><td>No entraste</td></tr></table>';
}else{
while($arrayPrueba=mysql_fetch_array($queryPrueba)){
sino esque entró pero tengo que comprobar que lo vio todo. el numero 7 en este caso significa el numero total de apartados del scorm
'.$arrayPrueba["rawgrade"].'</option>';
if ($arrayPrueba["rawgrade"]<7.00000 ){
echo '<table align=center><tr><td>No puedes acceder a la autoevaluación hasta que no hayas completado los contenidos</td></tr></table>';
}else{
sino esque lo vio todo por lo que guardo los registros en una nueva tabla que he creado
$sql = "INSERT INTO mdl_final (idusuario,idcurso,idscorm,idcuestionario,idterminado)VALUES (".$usuario.", ".$curso.",5, ".$cuestionario.",1)";
}
miro aver si está el terminado a 1que significa que ha visto todo
$prueba2="SELECT * FROM mdl_final WHERE idusuario='".$usuario."' AND idcurso='".$curso."' AND idscorm= 5 AND idcuestionario='".$cuestionario."' AND idterminado=1";
$queryPrueba2=mysql_query($prueba2);
while($arrayPrueba2=mysql_fetch_array($queryPrueba2)){
if ($arrayPrueba2["idterminado"]==1){
->aquí meto el código del view del moodle.Sería todo despues de la línea 63
Y ya estaría, lo único que esto va bien cuando el cuestionario es de un solo intento, no para más, de momento me he quedado ahí.
Espero que sirva de algo.
Gracias!!!