Hola a todos,
Estoy intentando agregar una funcionalidad que hace tiempo veo que está siendo demandada y que parece ser que hay algo cociéndose por ahí, pero no acaba de quedar claro. Por mi parte voy a exponer lo que llevo echo, para ver que os parece y de paso perdiros ayuda a ver si alguien me puede echar una mano.
Os comento: Lo que he pensado sería válido, en principio, para cualquier recurso, aunque se puede limitar sólo a los del tipo 'resource'.
A lo que iba. En la imágen inferior se puede ver mi propuesta.
En el listado de grupos(los disponibles en ese curso), se pueden seleccionar varios.
He conseguido (por fin !!) que los selccionados se guarden como una cadena de texto separados por comas en el campo visibletogroups que he creado en la base de datos, en la tabla "mdl_resource" dónde se almacena dicha variable.
Ahora ya puedo recuperar ese campo de la base de datos y trabajar con él.
Una vez hecho esto, mi idea es que al mostrar el curso por pantalla se compruebe si los grupo a los que pertenece el usuario activo estan entre los almacenados en el campo "visibletogroups" perteneciente al recurso que se está imprimiendo por pantalla.
En caso negativo, no se mostraria el recurso para ese usuario.
No se si he explicado bien mi idea y menos aún si lo que yo prentendo es una barbaridad o no, pero creo que sería posible ya que he intentado hacerlo mediante el uso de la variable $visible que tiene cada recurso, perome di cuenta que era un error.
Este que propongo es un método, que se me ocurrió, común a todos los tipos de recurso .
Si estoy equivocado o alguien tiene una idea mejor, le pido que la comparta para poder seguir trabajando en ello.
Gracias a todos por vuestro tiempo.
Salu2.
J. Raúl
P.D: Adjunto los archivos que he modificado para conseguir esto. Para que funcione correctamente hay que crear un campo en la tabla "mdl_resource" que se llame "visibletogroups".