require_once $CFG->dirroot . '/mod/offlinequiz/locallib.php'; require_once $CFG->dirroot . '/question/editlib.php'; list($thispageurl, $contexts, $cmid, $cm, $offlinequiz, $pagevars) = question_edit_setup('editq', '/mod/offlinequiz/edit.php', true); // Get the course object and related bits. $course = $DB->get_record('course', array('id' => $offlinequiz->course), '*', MUST_EXIST); require_capability('mod/offlinequiz:manage', $contexts->lowest()); // Determine groupid. $groupnumber = optional_param('groupnumber', 1, PARAM_INT); if ($groupnumber === -1 and !empty($SESSION->question_pagevars['groupnumber'])) { $groupnumber = $SESSION->question_pagevars['groupnumber']; } if ($groupnumber === -1) { $groupnumber = 1; } $offlinequiz->groupnumber = $groupnumber; $thispageurl->param('groupnumber', $offlinequiz->groupnumber); // Load the offlinequiz group and set the groupid in the offlinequiz object. if ($offlinequizgroup = offlinequiz_get_group($offlinequiz, $groupnumber)) { $offlinequiz->groupid = $offlinequizgroup->id; $groupquestions = offlinequiz_get_group_question_ids($offlinequiz); $offlinequiz->questions = $groupquestions; } else { print_error('invalidgroupnumber', 'offlinequiz'); } // Create offlinequiz question bank view. $questionbank = new mod_offlinequiz\question\bank\custom_view($contexts, $thispageurl, $course, $cm, $offlinequiz); $questionbank->set_offlinequiz_has_scanned_pages(offlinequiz_has_scanned_pages($offlinequiz->id)); // Output. $output = $PAGE->get_renderer('mod_offlinequiz', 'edit'); $contents = $output->question_bank_contents($questionbank, $pagevars); echo json_encode(array('status' => 'OK', 'contents' => $contents));
$bulkgradewarning = true; } } } // Redmine 983: Upgrade sumgrades for all offlinequiz groups. if ($groups = $DB->get_records('offlinequiz_groups', array('offlinequizid' => $offlinequiz->id), 'number', '*', 0, $offlinequiz->numgroups)) { foreach ($groups as $group) { $sumgrade = offlinequiz_update_sumgrades($offlinequiz, $group->id); } } offlinequiz_update_all_attempt_sumgrades($offlinequiz); offlinequiz_update_grades($offlinequiz, 0, true); redirect($afteractionurl); } // Get the question bank view. $questionbank = new mod_offlinequiz\question\bank\custom_view($contexts, $thispageurl, $course, $cm, $offlinequiz); $questionbank->set_offlinequiz_has_scanned_pages($docscreated); $questionbank->process_actions($thispageurl, $cm); // End of process commands =====================================================. $PAGE->set_pagelayout('incourse'); $PAGE->set_pagetype('mod-offlinequiz-edit'); $output = $PAGE->get_renderer('mod_offlinequiz', 'edit'); $PAGE->set_title(get_string('editingofflinequizx', 'offlinequiz', format_string($offlinequiz->name))); $PAGE->set_heading($course->fullname); $node = $PAGE->settingsnav->find('mod_offlinequiz_edit', navigation_node::TYPE_SETTING); if ($node) { $node->make_active(); } echo $OUTPUT->header(); // Initialise the JavaScript. $offlinequizeditconfig = new stdClass();