/**
  * Write the plugin summary with an optional link to view the full feedback/submission.
  *
  * @param assign_plugin $plugin Submission plugin or feedback plugin
  * @param stdClass $item Submission or grade
  * @param string $returnaction The return action to pass to the
  *                             view_submission page (the current page)
  * @param string $returnparams The return params to pass to the view_submission
  *                             page (the current page)
  * @return string The summary with an optional link
  */
 private function format_plugin_summary_with_link(assign_plugin $plugin, stdClass $item, $returnaction, $returnparams)
 {
     $link = '';
     $showviewlink = false;
     $summary = $plugin->view_summary($item, $showviewlink);
     $separator = '';
     if ($showviewlink) {
         $viewstr = get_string('view' . substr($plugin->get_subtype(), strlen('assign')), 'assign');
         $icon = $this->output->pix_icon('t/preview', $viewstr);
         $urlparams = array('id' => $this->assignment->get_course_module()->id, 'sid' => $item->id, 'gid' => $item->id, 'plugin' => $plugin->get_type(), 'action' => 'viewplugin' . $plugin->get_subtype(), 'returnaction' => $returnaction, 'returnparams' => http_build_query($returnparams));
         $url = new moodle_url('/mod/assign/view.php', $urlparams);
         $link = $this->output->action_link($url, $icon);
         $separator = $this->output->spacer(array(), true);
     }
     return $link . $separator . $summary;
 }