3 require_once("../../config.php");
4 require_once("lib.php");
6 optional_variable($id); // Course Module ID
7 optional_variable($a); // Assignment ID
10 if (! $cm = get_record("course_modules", "id", $id)) {
11 error("Course Module ID was incorrect");
14 if (! $course = get_record("course", "id", $cm->course
)) {
15 error("Course is misconfigured");
18 if (! $assignment = get_record("assignment", "id", $cm->instance
)) {
19 error("Course module is incorrect");
23 if (! $assignment = get_record("assignment", "id", $a)) {
24 error("Course module is incorrect");
26 if (! $course = get_record("course", "id", $assignment->course
)) {
27 error("Course is misconfigured");
29 if (! $cm = get_coursemodule_from_instance("assignment", $assignment->id
, $course->id
)) {
30 error("Course Module ID was incorrect");
34 require_login($course->id
);
36 add_to_log($course->id
, "assignment", "view", "view.php?id=$cm->id", $assignment->id
, $cm->id
);
38 if ($course->category
) {
39 $navigation = "<A HREF=\"../../course/view.php?id=$course->id\">$course->shortname</A> ->";
42 $strassignments = get_string("modulenameplural", "assignment");
43 $strassignment = get_string("modulename", "assignment");
45 print_header("$course->shortname: $assignment->name", "$course->fullname",
46 "$navigation <A HREF=index.php?id=$course->id>$strassignments</A> -> $assignment->name",
47 "", "", true, update_module_button($cm->id
, $course->id
, $strassignment), navmenu($course, $cm));
49 if (isteacher($course->id
)) {
50 echo '<p align="right">';
51 if ($assignment->type
== OFFLINE
) {
52 echo "<a href=\"submissions.php?id=$assignment->id\">".
53 get_string("viewfeedback", "assignment")."</a>";
55 $currentgroup = get_current_group($course->id
);
56 if ($currentgroup and isteacheredit($course->id
)) {
57 $group = get_record("groups", "id", $currentgroup);
58 $groupname = " ($group->name)";
62 $count = assignment_count_real_submissions($assignment, $currentgroup);
63 echo "<a href=\"submissions.php?id=$assignment->id\">".
64 get_string("viewsubmissions", "assignment", $count)."</a>$groupname";
67 } else if (!$cm->visible
) {
68 notice(get_string("activityiscurrentlyhidden"));
71 print_simple_box_start("CENTER");
72 print_heading($assignment->name
, "CENTER");
74 $timedifference = $assignment->timedue
- time();
75 if ($timedifference < 31536000) { // Don't bother showing dates over a year in the future
76 $strdifference = format_time($timedifference);
77 if ($timedifference < 0) {
78 $strdifference = "<font color=\"red\">$strdifference</font>";
80 $strduedate = userdate($assignment->timedue
)." ($strdifference)";
81 echo "<b>".get_string("duedate", "assignment")."</b>: $strduedate<br />";
84 if ($assignment->grade
< 0) {
85 $scaleid = - ($assignment->grade
);
86 if ($scale = get_record("scale", "id", $scaleid)) {
87 $scalegrades = make_menu_from_list($scale->scale
);
88 echo "<b>".get_string("grade")."</b>: $scale->name ";
89 print_scale_menu_helpbutton($course->id
, $scale);
92 } else if ($assignment->grade
> 0) {
93 echo "<b>".get_string("maximumgrade")."</b>: $assignment->grade<br>";
97 echo format_text($assignment->description
, $assignment->format
);
98 print_simple_box_end();
101 if (!isteacher($course->id
) and !isguest()) {
102 $submission = assignment_get_submission($assignment, $USER);
104 if ($assignment->type
== OFFLINE
) {
105 if ($submission->timemarked
) {
106 if (isset($scalegrades)) {
107 $submission->grade
= $scalegrades[$submission->grade
];
109 assignment_print_feedback($course, $submission);
112 if ($submission and $submission->timemodified
) {
113 print_simple_box_start("center");
115 print_heading(get_string("yoursubmission","assignment").":", "center");
116 echo "<p><font size=-1><b>".get_string("lastmodified")."</b>: ".userdate($submission->timemodified
)."</font></p>";
117 assignment_print_user_files($assignment, $USER);
118 print_simple_box_end();
120 print_heading(get_string("notsubmittedyet","assignment"));
123 echo "<hr size=1 noshade>";
125 if ($submission and $submission->timemarked
) {
126 print_heading(get_string("submissionfeedback", "assignment").":", "center");
127 if (isset($scalegrades)) {
128 $submission->grade
= $scalegrades[$submission->grade
];
130 assignment_print_feedback($course, $submission);
132 if (!$submission->timemarked
or $assignment->resubmit
) {
133 if ($submission and $submission->timemodified
) {
134 echo "<p align=\"center\">".get_string("overwritewarning", "assignment")."</p>";
136 print_heading(get_string("submitassignment", "assignment").":", "center");
137 assignment_print_upload_form($assignment);
142 print_footer($course);