$choicesdata = array(); if (!empty($choices)) { foreach ($choices as $choice) { if (!isset($choicesdata[$choice->slotnumber]) || !is_array($choicesdata[$choice->slotnumber])) { $choicesdata[$choice->slotnumber] = array(); } $choicesdata[$choice->slotnumber][$choice->choicenumber] = $choice; } } if ($sheetloaded) { // Print image of the form sheet. $fs = get_file_storage(); $imagefile = $fs->get_file($context->id, 'mod_offlinequiz', 'imagefiles', 0, '/', $scannedpage->filename); // E.g. http://131.130.103.117/mod_offlinequiz/pluginfile.php/65/mod_offlinequiz/imagefiles/0/zimmer.png_1. echo '<img name="formimage" src="' . $CFG->wwwroot . "/pluginfile.php/{$context->id}/mod_offlinequiz/imagefiles/0/" . $imagefile->get_filename() . '" border="1" width="' . OQ_IMAGE_WIDTH . '" style="position:absolute; top:0px; left:0px; display: block;">'; $answerspots = $scanner->export_hotspots_answer(OQ_IMAGE_WIDTH); if ($options->gradedsheetfeedback) { $questionids = offlinequiz_get_group_question_ids($offlinequiz, $group->id); list($qsql, $params) = $DB->get_in_or_equal($questionids, SQL_PARAMS_NAMED, 'qid'); $params['offlinequizid'] = $offlinequiz->id; $params['offlinegroupid'] = $group->id; $sql = "SELECT q.*, ogq.maxmark\n FROM {question} q,\n {offlinequiz_group_questions} ogq\n WHERE ogq.offlinequizid = :offlinequizid\n AND ogq.offlinegroupid = :offlinegroupid\n AND q.id = ogq.questionid\n AND q.id {$qsql}"; // Load the questions. if (!($questions = $DB->get_records_sql($sql, $params))) { $viewurl = new moodle_url($CFG->wwwroot . '/mod/offlinequiz/view.php', array('q' => $offlinequiz->id)); print_error('noquestionsfound', 'offlinequiz', $viewurl); } // Load the question type specific information. if (!get_question_options($questions)) { print_error('Could not load question options'); }