Moodle имеет встроенную возможность сброса для каждого курса. Я хочу сбросить все мои курсы.
Как массово удалить записи на курсы в Moodle?
Ответы (3)
Извините, что возвращаю этот старый пост, но после долгой борьбы я наконец заставил этот код работать. Я тестировал его в среде Moodle 1.9.7.
<?php
require('../config.php');
require_once('reset_form.php');
$courseids = array(8,9,11);
foreach ($courseids as &$value) {
$data->MAX_FILE_SIZE = 8097152;
$data->reset_start_date = 1251781200;
$data->reset_events = 1;
$data->reset_logs = 1;
$data->reset_notes = 1;
$data->reset_roles = Array(5);
$data->mform_showadvanced_last = 0;
$data->reset_roles_local = 1;
$data->reset_gradebook_grades = 1;
$data->reset_assignment_submissions = 1;
$data->reset_forum_all = 1;
$data->reset_quiz_attempts = 1;
$data->id = $value;
require_login($value);
require_capability('moodle/course:update', get_context_instance(CONTEXT_COURSE, $value));
$status = reset_course_userdata($data);
}
?>
person
Italo Saraiva
schedule
26.04.2016
Хорошо, я понял это, но будьте очень осторожны. Если вы не знаете, что делаете, не используйте этот код, вы можете нанести большой ущерб своей БД. Это сбрасывает курс «по умолчанию» на все идентификаторы курсов в массиве.
<?php
require('../config.php');
require_once('reset_form.php');
$courseids = array(8,9,11);
foreach ($courseids as &$value) {
$data->MAX_FILE_SIZE = 8097152;
$data->reset_start_date = 1251781200;
$data->reset_events = 1;
$data->reset_logs = 1;
$data->reset_notes = 1;
$data->reset_roles = Array(5);
$data->mform_showadvanced_last = 0;
$data->reset_roles_local = 1;
$data->reset_gradebook_grades = 1;
$data->reset_assignment_submissions = 1;
$data->reset_forum_all = 1;
$data->id = $value;
$status = reset_course_userdata($data);
}
?>
person
Community
schedule
30.06.2009
Вы не должны сбрасывать курсы таким образом, это слишком рискованно. Используйте функцию администрирования курса. Выберите курс, найдите администратора курса. блок, нажмите кнопку сброса, очень просто. Если у вас всего 3 курса, это займет около 30 секунд.
person
jamesTheProgrammer
schedule
16.11.2011
Да, а если у вас 368? Мы часто хотим удалить всех студентов со всех курсов в конце учебного года.
- person AdamG; 16.06.2013