Moodle 具有内置的每门课程重置功能。我想重置我所有的课程。
2534 次
3 回答
1
很抱歉把这个旧帖子带回来,但经过长时间的努力,我终于让那个代码工作了。我已经在 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);
}
?>
于 2016-04-26T20:13:48.753 回答
0
好的,我想通了,但要非常小心。如果您不知道自己在做什么,请不要使用此代码,您可能会对您的数据库造成很大损害。这会将“默认”课程重置为数组中的所有课程 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);
}
?>
于 2009-06-30T03:26:03.573 回答
0
你不应该这样重置课程,它太冒险了。使用课程管理功能选择课程,找到课程管理员。块,点击重置按钮,很简单。如果你只有 3 门课程,这大约需要 30 秒。
于 2011-11-16T14:15:51.510 回答