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, '_'); include 'source.html';