if (!($cm = get_coursemodule_from_instance('assignment', $assignment->id, $course->id))) {
        error(get_string('error_invalidcoursemodule', 'assignment'));
    }
}
require_login($course->id, false, $cm);
if (!$userid) {
    $userid = $USER->id;
}
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
if ($userid != $USER->id and !has_capability('mod/assignment:grade', $context)) {
    print_error('denytoreadfile', 'assignment_onlinejudge');
}
// Load up the required assignment code
require 'assignment.class.php';
$assignmentinstance = new assignment_onlinejudge($cm->id, $assignment, $cm, $course);
$filearea = $assignmentinstance->file_area_name($userid);
if ($basedir = $assignmentinstance->file_area($userid)) {
    $fpath = "{$CFG->dataroot}/{$filearea}/{$file}";
}
$ffurl = get_file_url("{$filearea}/{$file}");
if ($gestor = fopen($fpath, 'r')) {
    $code = fread($gestor, filesize($fpath));
    if ($charset = mb_detect_encoding($code, 'UTF-8, GBK')) {
        $code = iconv($charset, 'utf-8', $code);
    }
    $code = htmlspecialchars($code);
    fclose($gestor);
} else {
    error(get_string('filereaderror', 'assignment_onlinejudge'));
}
$lang = strtok($assignmentinstance->onlinejudge->language, '_');