Пример #1
0
$url = new moodle_url('/mod/attforblock/export.php');
if (!($cm = $DB->get_record("course_modules", array("id" => $id)))) {
    print_error("Course Module ID was incorrect");
}
if (!($course = $DB->get_record("course", array("id" => $cm->course)))) {
    print_error("Course is misconfigured");
}
if (!($attforblock = $DB->get_record('attforblock', array('id' => $cm->instance)))) {
    print_error("Course module is incorrect");
}
$url->param($id);
$PAGE->set_url($url);
require_login($course->id);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
require_capability('mod/attforblock:export', $context);
$mform_export = new mod_attforblock_export_form('export.php', array('course' => $course, 'cm' => $cm, 'modcontext' => $context));
if ($fromform = $mform_export->get_data()) {
    $group = groups_get_group($fromform->group);
    if ($group) {
        $sql = "SELECT u.*\n                FROM {role_assignments} ra, {user} u, {course} c, {context} cxt\n                WHERE ra.userid = u.id\n                    AND ra.contextid = cxt.id\n                    AND cxt.contextlevel = 50\n                    AND cxt.instanceid = c.id\n                    AND c.id = ?\n                    AND roleid =5\n                    AND u.id IN (SELECT userid FROM {groups_members} gm WHERE gm.groupid = ?)\n                ORDER BY u.lastname ASC";
        $params = array($cm->course, $group->id);
        $students = $DB->get_records_sql($sql, $params);
        //$students = get_users_by_capability($context, 'moodle/legacy:student', '', 'u.lastname ASC', '', '', $group->id, '', false);
    } else {
        $sql = "SELECT u.*\n                FROM {role_assignments} ra, {user} u, {course} c, {context} cxt\n                WHERE ra.userid = u.id\n                    AND ra.contextid = cxt.id\n                    AND cxt.contextlevel = 50\n                    AND cxt.instanceid = c.id\n                    AND c.id = ?\n                    AND roleid =5\n                ORDER BY u.lastname ASC";
        $params = array($cm->course);
        $students = $DB->get_records_sql($sql, $params);
        //$students = get_users_by_capability($context, 'moodle/legacy:student', '', 'u.lastname ASC', '', '', '', '', false);
    }
    if ($students) {
        $filename = clean_filename($course->shortname . '_Attendances_' . userdate(time(), '%Y%m%d-%H%M'));
Пример #2
0
require_once dirname(__FILE__) . '/renderhelpers.php';
$id = required_param('id', PARAM_INT);
$cm = get_coursemodule_from_id('attforblock', $id, 0, false, MUST_EXIST);
$course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
$att = $DB->get_record('attforblock', array('id' => $cm->instance), '*', MUST_EXIST);
require_login($course, true, $cm);
$att = new attforblock($att, $cm, $course, $PAGE->context);
$att->perm->require_export_capability();
$PAGE->set_url($att->url_export());
$PAGE->set_title($course->shortname . ": " . $att->name);
$PAGE->set_heading($course->fullname);
$PAGE->set_cacheable(true);
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'attforblock'));
$PAGE->navbar->add(get_string('export', 'quiz'));
$formparams = array('course' => $course, 'cm' => $cm, 'modcontext' => $PAGE->context);
$mform = new mod_attforblock_export_form($att->url_export(), $formparams);
if ($mform->is_submitted()) {
    $formdata = $mform->get_data();
    $pageparams = new att_page_with_filter_controls();
    $pageparams->init($cm);
    $pageparams->group = $formdata->group;
    $pageparams->set_current_sesstype($formdata->group ? $formdata->group : att_page_with_filter_controls::SESSTYPE_ALL);
    if (isset($formdata->includeallsessions)) {
        if (isset($formdata->includenottaken)) {
            $pageparams->view = ATT_VIEW_ALL;
        } else {
            $pageparams->view = ATT_VIEW_ALLPAST;
            $pageparams->curdate = time();
        }
        $pageparams->init_start_end_date();
    } else {