Condicionar SCORM

Re: Condicionar SCORM

de Rosa López -
Número de respuestas: 0

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&oacute;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!!!