function make_forums($courseid, $count, $discussions, $posts, $readpercent, $readusers, $subscribepercent, $ratingpercent)
{
    global $CFG;
    if (!record_exists('course', 'id', $courseid)) {
        throw new forum_exception('Course does not exist');
    }
    // Get all course users
    $context = get_context_instance(CONTEXT_COURSE, $courseid);
    $rs = get_recordset_sql("\nSELECT\n    DISTINCT userid\nFROM\n    {$CFG->prefix}role_assignments\nWHERE\n    contextid={$context->id}");
    $userids = array();
    while ($record = rs_fetch_next_record($rs)) {
        $userids[] = $record->userid;
    }
    if ($readusers > count($userids)) {
        throw new forum_exception("The course only has " . count($userids) . " users, but you've asked for {$readusers} to read each discussion.\n            Create some more users.");
    }
    // Create forums
    print "<h3>Making {$count} forums</h3><pre>";
    $time = time();
    for ($i = 0; $i < $count; $i++) {
        make_forumng($courseid, $time, $discussions, $posts, $readpercent, $readusers, $userids, $subscribepercent, $ratingpercent);
        print 'X';
        if (($i + 1) % 20 == 0) {
            print " (" . ($i + 1) . ")\n";
        }
        flush();
    }
    print "</pre>";
    rebuild_course_cache($courseid);
}
示例#2
0
function make_forums($courseid, $count, $discussions, $posts, $readpercent, $readusers, $subscribepercent, $ratingpercent)
{
    global $DB;
    // Require course to exist
    $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
    // Get all course users
    $context = context_course::instance($courseid);
    $rs = $DB->get_recordset_sql("\nSELECT\n    DISTINCT userid\nFROM\n    {role_assignments}\nWHERE\n    contextid = ?", array($context->id));
    $userids = array();
    foreach ($rs as $record) {
        $userids[] = $record->userid;
    }
    $rs->close();
    if ($readusers > count($userids)) {
        throw new moodle_exception('error_makebig', 'forumng', '', (object) array('users' => count($userids), 'readusers' => $readusers));
    }
    // Create forums
    print "<h3>Making {$count} forums</h3><pre>";
    $time = time();
    for ($i = 0; $i < $count; $i++) {
        make_forumng($courseid, $time, $discussions, $posts, $readpercent, $readusers, $userids, $subscribepercent, $ratingpercent);
        print 'X';
        if (($i + 1) % 20 == 0) {
            print " (" . ($i + 1) . ")\n";
        }
        flush();
    }
    print "</pre>";
    rebuild_course_cache($courseid);
}