if (!isset($groupingusers[$user->id])) { unset($users[$key]); } } } /// Now prepare table with student assessments and submissions $tablesort->data = array(); $tablesort->sortdata = array(); foreach ($users as $user) { // skip if student not in group if ($currentgroup) { if (!groups_is_member($currentgroup, $user->id)) { continue; } } if ($submissions = workshop_get_user_submissions($workshop, $user)) { foreach ($submissions as $submission) { $data = array(); $sortdata = array(); $data[] = "<a name=\"userid{$user->id}\" href=\"{$CFG->wwwroot}/user/view.php?id={$user->id}&course={$course->id}\">" . fullname($user) . '</a>'; $sortdata['firstname'] = $user->firstname; $sortdata['lastname'] = $user->lastname; if ($workshop->wtype) { $data[] = workshop_print_user_assessments($workshop, $user, $gradinggrade); $data[] = $gradinggrade; $sortdata['agrade'] = $gradinggrade; } $data[] = workshop_print_submission_title($workshop, $submission) . " <a href=\"submissions.php?action=adminamendtitle&id={$cm->id}&sid={$submission->id}\">" . "<img src=\"{$CFG->pixpath}/t/edit.gif\" " . 'class="iconsmall" alt="' . get_string('amendtitle', 'workshop') . '" /></a>' . " <a href=\"submissions.php?action=confirmdelete&id={$cm->id}&sid={$submission->id}\">" . "<img src=\"{$CFG->pixpath}/t/delete.gif\" " . 'class="iconsmall" alt="' . get_string('delete', 'workshop') . '" /></a>'; $sortdata['title'] = $submission->title; $data[] = userdate($submission->timecreated, get_string('datestr', 'workshop')); $sortdata['date'] = $submission->timecreated;
// only check if a student, teachers may want to submit a set of workshop examples rapidly if (workshop_is_student($workshop)) { if ($submissions = workshop_get_user_submissions($workshop, $USER)) { // returns all submissions, newest on first foreach ($submissions as $submission) { if ($submission->timecreated > $timenow - $CFG->maxeditingtime) { // ignore this new submission redirect("view.php?id={$cm->id}"); print_footer($course); exit; } } } } // get the current set of submissions $submissions = workshop_get_user_submissions($workshop, $USER); // add new submission record $newsubmission->workshopid = $workshop->id; $newsubmission->userid = $USER->id; $newsubmission->title = clean_param($title, PARAM_CLEAN); $newsubmission->description = trim(clean_param($form->description, PARAM_CLEAN)); $newsubmission->timecreated = $timenow; if ($timenow > $workshop->submissionend) { $newsubmission->late = 1; } if (!($newsubmission->id = insert_record("workshop_submissions", $newsubmission))) { error("Workshop submission: Failure to create new submission record!"); } // see if this is a resubmission by looking at the previous submissions... if ($submissions and $workshop->submissionstart > time()) { // ...but not teacher submissions
function workshop_user_outline($course, $user, $mod, $workshop) { if ($submissions = workshop_get_user_submissions($workshop, $user)) { $result->info = count($submissions) . " " . get_string("submissions", "workshop"); // workshop_get_user_submissions returns the newest one first foreach ($submissions as $submission) { $result->time = $submission->timecreated; break; } return $result; } return NULL; }
function workshop_list_user_submissions($workshop, $user) { global $CFG; if (!($cm = get_coursemodule_from_instance("workshop", $workshop->id, $workshop->course))) { error("Course Module ID was incorrect"); } $timenow = time(); $table->head = array(get_string("title", "workshop"), get_string("action", "workshop"), get_string("submitted", "assignment"), get_string("assessments", "workshop")); $table->align = array("left", "left", "left", "left"); $table->size = array("*", "*", "*", "*"); $table->cellpadding = 2; $table->cellspacing = 0; if ($submissions = workshop_get_user_submissions($workshop, $user)) { foreach ($submissions as $submission) { // allow user to edit or delete a submission if it's warm OR if assessment period has not started if ($submission->timecreated > $timenow - $CFG->maxeditingtime or $workshop->assessmentstart > time()) { $action = "<a href=\"submissions.php?action=editsubmission&id={$cm->id}&sid={$submission->id}\">" . get_string("edit", "workshop") . "</a> | " . "<a href=\"submissions.php?action=confirmdelete&id={$cm->id}&sid={$submission->id}\">" . get_string("delete", "workshop") . "</a>"; } else { $action = ''; } $datesubmitted = userdate($submission->timecreated); if ($submission->late) { $datesubmitted = "<span class=\"redfont\">" . $datesubmitted . "</span>"; } $n = count_records_select("workshop_assessments", "submissionid = {$submission->id} AND\n timecreated < ({$timenow} - {$CFG->maxeditingtime})"); $table->data[] = array(workshop_print_submission_title($workshop, $submission), $action, $datesubmitted, $n); } print_table($table); } }