} else {
    if ($action == 'checkuser') {
        if (!confirm_sesskey()) {
            print_error('invalidsesskey');
            echo "<input class=\"imagebutton\" type=\"submit\" value=\"" . get_string('cancel') . "\" name=\"submitbutton4\"\nonClick=\"self.close(); return false;\"><br />";
            die;
        }
        // Maybe old errors have been fixed.
        $scannedpage->status = 'ok';
        $DB->set_field('offlinequiz_scanned_pages', 'status', 'ok', array('id' => $scannedpage->id));
        $scannedpage->error = '';
        $DB->set_field('offlinequiz_scanned_pages', 'error', '', array('id' => $scannedpage->id));
        $groupnumber = required_param('groupnumber', PARAM_TEXT);
        $groupnumber = intval($groupnumber);
        // Old code  if (!property_exists($scannedpage, 'groupnumber') || $scannedpage->groupnumber == 0) {.
        $scanner->set_group($groupnumber);
        $scannedpage->groupnumber = $groupnumber;
        // O=======================================================.
        // O Adjust the maxanswers of the scanner according to the offlinequiz group
        // O=======================================================.
        if ($newgroup = $DB->get_record('offlinequiz_groups', array('offlinequizid' => $offlinequiz->id, 'number' => $groupnumber))) {
            $maxanswers = offlinequiz_get_maxanswers($offlinequiz, array($newgroup));
            $scannedpage = $scanner->set_maxanswers($maxanswers, $scannedpage);
        }
        $usernumber = required_param('usernumber', PARAM_TEXT);
        $xes = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
        // If we have only X's then we ignore the input.
        $userkey = $offlinequizconfig->ID_prefix . $usernumber . $offlinequizconfig->ID_postfix;
        if ($usernumber == substr($xes, 0, $offlinequizconfig->ID_digits)) {
            $scannedpage->userkey = null;
            $DB->set_field('offlinequiz_scanned_pages', 'userkey', null, array('id' => $scannedpage->id));