error("assignment ID was incorrect"); } if (!($course = $DB->get_record('course', array('id' => $assignment->course)))) { error("Course is misconfigured"); } $url->param('id', $id); } else { if (!($assignment = $DB->get_record('assignment', array('id' => $a)))) { error("Course module is incorrect"); } if (!($course = $DB->get_record("course", array('id' => $assignment->course)))) { error("Course is misconfigured"); } if (!($cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id))) { error("Course Module ID was incorrect"); } $url->param('a', $a); } $PAGE->set_url($url); require_login($course->id, false, $cm); require_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id)); require dirname(__FILE__) . '/assignment.class.php'; $assignmentinstance = new assignment_uploadpdf($cm->id, $assignment, $cm, $course); $action = optional_param('action', null, PARAM_TEXT); if ($action == 'showprevious') { $assignmentinstance->show_previous_comments($userid); } elseif ($action == 'showpreviouspage') { $assignmentinstance->edit_comment_page($userid, $pageno, false); } else { $assignmentinstance->edit_comment_page($userid, $pageno); }
} if (!($course = $DB->get_record('course', array('id' => $assignment->course)))) { error("Course is misconfigured"); } if (!($user = $DB->get_record('user', array('id' => $userid)))) { error("User is misconfigured"); } $PAGE->set_url($url); require_login($course->id, false, $cm); if (!has_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id))) { error("You can not view this assignment"); } if ($assignment->assignmenttype != 'uploadpdf') { error("Incorrect assignment type"); } $assignmentinstance = new assignment_uploadpdf($cm->id, $assignment, $cm, $course); $returnurl = "../../submissions.php?id={$assignmentinstance->cm->id}&userid={$userid}&offset={$offset}&mode=single"; if ($submission = $assignmentinstance->get_submission($user->id) and !empty($submission->data1)) { $PAGE->set_title(fullname($user, true) . ': ' . $assignment->name); echo $OUTPUT->header(); echo $OUTPUT->heading(get_string('notes', 'assignment') . ' - ' . fullname($user, true)); echo $OUTPUT->box(format_text($submission->data1, FORMAT_HTML), 'generalbox boxaligncenter boxwidthwide'); if ($mode != 'single') { echo $OUTPUT->close_window_button(); } else { echo $OUTPUT->continue_button($returnurl); } echo $OUTPUT->footer(); } else { $PAGE->set_title(fullname($user, true) . ': ' . $assignment->name); echo $OUTPUT->header();
$formdata->mode = optional_param('mode', null, PARAM_ALPHA); $url = new moodle_url('/mod/assignment/type/uploadpdf/upload.php', array('contextid' => $contextid, 'offset' => $formdata->offset, 'forcerefresh' => $formdata->forcerefresh, 'userid' => $formdata->userid, 'mode' => $formdata->mode)); list($context, $course, $cm) = get_context_info_array($contextid); require_login($course, true, $cm); if (isguestuser()) { die; } if (!($assignment = $DB->get_record('assignment', array('id' => $cm->instance)))) { print_error('invalidid', 'assignment'); } $PAGE->set_url($url); $PAGE->set_context($context); $title = strip_tags($course->fullname . ': ' . get_string('modulename', 'assignment') . ': ' . format_string($assignment->name, true)); $PAGE->set_title($title); $PAGE->set_heading($title); $instance = new assignment_uploadpdf($cm->id, $assignment, $cm, $course); $submission = $instance->get_submission($formdata->userid, true); // FIXME - change this to only allow PDFs, if that option is set $filemanager_options = array('subdirs' => 0, 'maxbytes' => $assignment->maxbytes, 'maxfiles' => $assignment->var1, 'accepted_types' => '*', 'return_types' => FILE_INTERNAL); $mform = new mod_assignment_uploadpdf_form(null, array('contextid' => $contextid, 'userid' => $formdata->userid, 'options' => $filemanager_options)); if ($mform->is_cancelled()) { redirect(new moodle_url('/mod/assignment/view.php', array('id' => $cm->id))); } else { if ($formdata = $mform->get_data()) { $instance->upload($mform, $filemanager_options); die; } } echo $OUTPUT->header(); echo $OUTPUT->box_start('generalbox'); if ($instance->can_upload_file($submission)) {
} if (!($course = $DB->get_record('course', array('id' => $assignment->course)))) { error("Course is misconfigured"); } $url->param('id', $id); } else { if (!($assignment = $DB->get_record('assignment', array('id' => $a)))) { error("Course module is incorrect"); } if (!($course = $DB->get_record("course", array('id' => $assignment->course)))) { error("Course is misconfigured"); } if (!($cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id))) { error("Course Module ID was incorrect"); } $url->param('a', $a); } if ($userid) { $url->param('userid', $userid); } $PAGE->set_url($url); require_login($course->id, false, $cm); if ($userid && $userid != $USER->id) { require_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id)); } else { require_capability('mod/assignment:submit', get_context_instance(CONTEXT_MODULE, $cm->id)); $userid = $USER->id; } require dirname(__FILE__) . '/assignment.class.php'; $assignmentinstance = new assignment_uploadpdf($cm->id, $assignment, $cm, $course); $assignmentinstance->edit_comment_page($userid, $pageno, false);
function restore_one_submission($info, $restore, $assignment, $submission) { //Get the submissions array - it might not be present if (@isset($info['#']['COMMENTS']['0']['#']['COMMENT'])) { $comments = $info['#']['COMMENTS']['0']['#']['COMMENT']; } else { $comments = array(); } foreach ($comments as $comment) { $dbc = new stdclass(); $dbc->posx = backup_todb($comment['#']['POSX']['0']['#']); $dbc->posy = backup_todb($comment['#']['POSY']['0']['#']); $dbc->width = backup_todb($comment['#']['WIDTH']['0']['#']); $dbc->rawtext = backup_todb($comment['#']['RAWTEXT']['0']['#']); $dbc->pageno = backup_todb($comment['#']['PAGENO']['0']['#']); $dbc->colour = backup_todb($comment['#']['COLOUR']['0']['#']); $dbc->assignment_submission = $submission->id; insert_record('assignment_uploadpdf_comment', $dbc); } if (@isset($info['#']['ANNOTATIONS']['0']['#']['ANNOTATION'])) { $annotations = $info['#']['ANNOTATIONS']['0']['#']['ANNOTATION']; } else { $annotations = array(); } foreach ($annotations as $annotation) { $dba = new stdclass(); $dba->startx = backup_todb($annotation['#']['STARTX']['0']['#']); $dba->starty = backup_todb($annotation['#']['STARTY']['0']['#']); $dba->endx = backup_todb($annotation['#']['ENDX']['0']['#']); $dba->endy = backup_todb($annotation['#']['ENDY']['0']['#']); $dba->path = assignment_uploadpdf::backup_todb_optional_field($annotation, 'PATH', null); $dba->pageno = backup_todb($annotation['#']['PAGENO']['0']['#']); $dba->colour = backup_todb($annotation['#']['COLOUR']['0']['#']); $dba->type = backup_todb($annotation['#']['TYPE']['0']['#']); $dba->assignment_submission = $submission->id; insert_record('assignment_uploadpdf_annot', $dba); } }
$pageno = required_param('pageno', PARAM_INT); if ($id) { if (!($cm = get_coursemodule_from_id('assignment', $id))) { send_error("Course Module ID was incorrect"); } if (!($assignment = get_record("assignment", "id", $cm->instance))) { send_error("assignment ID was incorrect"); } if (!($course = get_record("course", "id", $assignment->course))) { send_error("Course is misconfigured"); } } else { if (!($assignment = get_record("assignment", "id", $a))) { send_error("Course module is incorrect"); } if (!($course = get_record("course", "id", $assignment->course))) { send_error("Course is misconfigured"); } if (!($cm = get_coursemodule_from_instance("assignment", $assignment->id, $course->id))) { send_error("Course Module ID was incorrect"); } } require_login($course->id, false, $cm); // Students are allowed to view comments on their own assignments, so capabilities now checked later //require_capability('mod/assignment:grade', get_context_instance(CONTEXT_MODULE, $cm->id)); if (!confirm_sesskey()) { send_error('You must be logged in to do this', ASSIGNMENT_UPLOADPDF_ERR_NO_LOGIN); } require_once dirname(__FILE__) . '/assignment.class.php'; $assignmentinstance = new assignment_uploadpdf($cm->id, $assignment, $cm, $course); $assignmentinstance->update_comment_page($userid, $pageno);