$submission->published = null; $submission->feedbackauthor = null; $submission->feedbackauthorformat = editors_get_preferred_format(); } } $ownsubmission = $submission->authorid == $USER->id; $canviewall = has_capability('mod/workshop:viewallsubmissions', $workshop->context); $cansubmit = has_capability('mod/workshop:submit', $workshop->context); $canallocate = has_capability('mod/workshop:allocate', $workshop->context); $canpublish = has_capability('mod/workshop:publishsubmissions', $workshop->context); $canoverride = ($workshop->phase == workshop::PHASE_EVALUATION and has_capability('mod/workshop:overridegrades', $workshop->context)); $userassessment = $workshop->get_assessment_of_submission_by_user($submission->id, $USER->id); $isreviewer = !empty($userassessment); $editable = ($cansubmit and $ownsubmission); $ispublished = ($workshop->phase == workshop::PHASE_CLOSED and $submission->published == 1 and has_capability('mod/workshop:viewpublishedsubmissions', $workshop->context)); if (empty($submission->id) and !$workshop->creating_submission_allowed($USER->id)) { $editable = false; } if ($submission->id and !$workshop->modifying_submission_allowed($USER->id)) { $editable = false; } if ($canviewall) { // check this flag against the group membership yet if (groups_get_activity_groupmode($workshop->cm) == SEPARATEGROUPS) { // user must have accessallgroups or share at least one group with the submission author if (!has_capability('moodle/site:accessallgroups', $workshop->context)) { $usersgroups = groups_get_activity_allowed_groups($workshop->cm); $authorsgroups = groups_get_all_groups($workshop->course->id, $submission->authorid, $workshop->cm->groupingid, 'g.id'); $sharedgroups = array_intersect_key($usersgroups, $authorsgroups); if (empty($sharedgroups)) { $canviewall = false;