我帮助维护moodle环境(版本1.9.7),每个学期我们需要对所有课程执行默认重置,但是每个学期都有 500个课程,每个课程有2到4个测验和这样做非常繁琐,需要很长时间。
我一直在寻找方法来执行 Mass / Bulk Course Reset 但到目前为止没有任何工作。例如this code:
好的,我把它弄清楚了,但是非常顽皮。如果你不知道你是什么 正在做的不要使用这个代码,你可以对你做很多伤害 D B。这会将“默认”课程重置为所有课程ID 阵列。
<?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); } ?>
有没有人知道在执行默认重置时使用了哪些SQL指令?我真的很感激任何帮助。
答案 0 :(得分:1)
使用SQL我很难进行重置非常困难。重置代码也调用每个模块中的函数,因此它们可以自己做。
看起来你在正确的轨道上进行大量重置。
我建议升级。 Moodle 1.9.7现在很老了,不受支持。升级路线是:
显然首先在开发服务器上进行备份和测试。