/** * Renders full workshop submission * * @param workshop_submission $submission * @return string HTML */ protected function render_workshop_submission(workshop_submission $submission) { global $CFG; $o = ''; // output HTML code $anonymous = $submission->is_anonymous(); $classes = 'submission-full'; if ($anonymous) { $classes .= ' anonymous'; } $o .= $this->output->container_start($classes); $o .= $this->output->container_start('header'); $title = format_string($submission->title); if ($this->page->url != $submission->url) { $title = html_writer::link($submission->url, $title); } $o .= $this->output->heading($title, 3); if (!$anonymous) { $author = new stdclass(); $author->id = $submission->authorid; $author->firstname = $submission->authorfirstname; $author->lastname = $submission->authorlastname; $author->picture = $submission->authorpicture; $author->imagealt = $submission->authorimagealt; $author->email = $submission->authoremail; $userpic = $this->output->user_picture($author, array('courseid' => $this->page->course->id, 'size' => 64)); $userurl = new moodle_url('/user/view.php', array('id' => $author->id, 'course' => $this->page->course->id)); $a = new stdclass(); $a->name = fullname($author); $a->url = $userurl->out(); $byfullname = get_string('byfullname', 'workshop', $a); $oo = $this->output->container($userpic, 'picture'); $oo .= $this->output->container($byfullname, 'fullname'); $o .= $this->output->container($oo, 'author'); } $created = get_string('userdatecreated', 'workshop', userdate($submission->timecreated)); $o .= $this->output->container($created, 'userdate created'); if ($submission->timemodified > $submission->timecreated) { $modified = get_string('userdatemodified', 'workshop', userdate($submission->timemodified)); $o .= $this->output->container($modified, 'userdate modified'); } $o .= $this->output->container_end(); // end of header $content = file_rewrite_pluginfile_urls($submission->content, 'pluginfile.php', $this->page->context->id, 'mod_workshop', 'submission_content', $submission->id); $content = format_text($content, $submission->contentformat, array('overflowdiv' => true)); if (!empty($content)) { if (!empty($CFG->enableplagiarism)) { require_once $CFG->libdir . '/plagiarismlib.php'; $content .= plagiarism_get_links(array('userid' => $submission->authorid, 'content' => $submission->content, 'cmid' => $this->page->cm->id, 'course' => $this->page->course)); } } $o .= $this->output->container($content, 'content'); $o .= $this->helper_submission_attachments($submission->id, 'html'); $o .= $this->output->container_end(); // end of submission-full return $o; }
/** * Render the content of the submission. * * @param workshop_submission $workshopsubmission * @return string */ protected function export_content(workshop_submission $workshopsubmission) { $output = ''; if (!$workshopsubmission->is_anonymous()) { $author = username_load_fields_from_object((object)[], $workshopsubmission, 'author'); $output .= html_writer::div(get_string('byfullnamewithoutlink', 'mod_workshop', fullname($author))); } $content = $this->format_exported_text($workshopsubmission->content, $workshopsubmission->contentformat); $content = portfolio_rewrite_pluginfile_urls($content, $this->workshop->context->id, 'mod_workshop', 'submission_content', $workshopsubmission->id, $this->exporter->get('format')); $output .= html_writer::div($content); $output .= $this->export_files_list('submission_attachment'); $strategy = $this->workshop->grading_strategy_instance(); $canviewauthornames = has_capability('mod/workshop:viewauthornames', $this->workshop->context, $this->get('user')); $canviewreviewernames = has_capability('mod/workshop:viewreviewernames', $this->workshop->context, $this->get('user')); foreach ($this->assessments as $assessment) { $mform = $strategy->get_assessment_form(null, 'assessment', $assessment, false); $options = [ 'showreviewer' => $canviewreviewernames, 'showauthor' => $canviewauthornames, 'showform' => true, 'showweight' => true, ]; if ($assessment->reviewerid == $this->get('user')->id) { $options['showreviewer'] = true; } $workshopassessment = $this->workshop->prepare_assessment($assessment, $mform, $options); if ($assessment->reviewerid == $this->get('user')->id) { $workshopassessment->title = get_string('assessmentbyyourself', 'mod_workshop'); } else { $workshopassessment->title = get_string('assessment', 'mod_workshop'); } $output .= html_writer::empty_tag('hr'); $output .= $this->export_assessment($workshopassessment); } if (trim($this->workshop->instructauthors)) { $output .= html_writer::tag('h3', get_string('instructauthors', 'mod_workshop')); $content = $this->format_exported_text($this->workshop->instructauthors, $this->workshop->instructauthorsformat); $content = portfolio_rewrite_pluginfile_urls($content, $this->workshop->context->id, 'mod_workshop', 'instructauthors', 0, $this->exporter->get('format')); $output .= $content; } return html_writer::div($output); }