CUL Course Visibility Update
Maintained by
Amanda Doughty
Scheduled task to update course visibility based on start and/or end date.
Comments
Comments are no longer open for new posts. Existing comments remain available to read.
En el archivo version.php del raíz cambia $plugin->version por un número superior al que tengas.
Por último, el cambio más importante es en el archivo classes/task/update_course_visibility.php, donde hay que sustituir toda la función execute actual por esta otra:
public function execute() {
global $DB;
$t0 = microtime(true);
$now = time();
$showcourses = [];
$hidecourses = [];
$config = get_config('local_culcourse_visibility');
if (!empty($config->showcourses)) {
mtrace("\n Searching for courses to make visible ...");
// Hacer visibles los cursos cuyo startdate YA ha llegado.
$select = "visible = 0 AND startdate > 0 AND startdate <= :now";
$showcourses = $DB->get_records_select('course', $select, ['now' => $now], '', 'id, shortname');
if ($showcourses) {
$this->show_courses($showcourses);
}
}
if (!empty($config->hidecourses)) {
mtrace("\n Searching for courses to hide ...");
// Ocultar los cursos cuyo enddate YA ha llegado.
$select = "visible = 1 AND enddate > 0 AND enddate <= :now";
$hidecourses = $DB->get_records_select('course', $select, ['now' => $now], '', 'id, shortname');
if ($hidecourses) {
$this->hide_courses($hidecourses);
}
}
if (!$showcourses && !$hidecourses) {
mtrace(" Nothing to do, except ponder the boundless wonders of the Universe, perhaps.
}
mtrace(number_format((microtime(true) - $t0) / 60, 3) . ' mins');
}
Ya sólo faltaría comprimirlo todo, subirlo e instalarlo. Por si acaso, purga todas las cachés antes de probarlo
Thanks.
Email address
jonshez@gmail.com
Skype ID
jonshez
Feliz día
Y posteriormente ejecuto el cron automáticamente cada dos minutos. Pero no es una tarea de moodle, si no del SERVIDOR. Tienes que programar la tarea en el servidor y ya.
A mi me funciona genial.
P.D.: Intenté mandarte un mensaje privado pero no lo tienes habilitado, y creo que no es de recibo ensuciar este hilo con un tema personal
https://drive.google.com/file/d/1lpKReHf325R7LTCprGnQ34g_NhgVKRnU/view?usp=sharing
Adicionalmente, ejecuto el cron por web y no lo actualiza, ejecuto el cron por consola linux y tampoco lo actualiza.
Pueden ayudarme con alguna orientación.
Muchas gracias
Gracias
Tienes que configurarlo en tu servidor. Hay mucha información en internet.
Para ejecutarlo manualmente tienes que habilitar la opción, ponerle pass y entrar en http://su.sitio.moodle/admin/cron.php
Pero lo suyo es que se ejecute cada 2 minutos
- Lo instale normal como se instala un plugin y active las dos opciones correspondientes para inicio y final del curso.
- Pero cuando entro a verificar si el cron se ha ejecutado el sistema me dice que no se ha ejecutado.
- Puedo ejecutar manualmente el cron para validar si funciona?
Gracias
Saludos