Index: mod/assign/locallib.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- mod/assign/locallib.php (date 1538987638000) +++ mod/assign/locallib.php (date 1539244621764) @@ -2729,7 +2729,9 @@ $params = array('overflowdiv' => true, 'context' => $this->get_context()); $result .= format_text($finaltext, $format, $params); - if ($CFG->enableportfolios && has_capability('mod/assign:exportownsubmission', $this->context)) { + $actions = array('grading', 'grade', 'viewpluginassignsubmission'); + if ($CFG->enableportfolios && has_capability('mod/assign:exportownsubmission', $this->context) && + !in_array($this->get_return_action(), $actions)) { require_once($CFG->libdir . '/portfoliolib.php'); $button = new portfolio_add_button(); Index: mod/assign/renderable.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- mod/assign/renderable.php (date 1538987638000) +++ mod/assign/renderable.php (date 1539244823392) @@ -880,24 +880,6 @@ 'timemodified', false); - if (!empty($CFG->enableportfolios)) { - require_once($CFG->libdir . '/portfoliolib.php'); - if (count($files) >= 1 && !empty($sid) && - has_capability('mod/assign:exportownsubmission', $this->context)) { - $button = new portfolio_add_button(); - $callbackparams = array('cmid' => $this->cm->id, - 'sid' => $sid, - 'area' => $filearea, - 'component' => $component); - $button->set_callback_options('assign_portfolio_caller', - $callbackparams, - 'mod_assign'); - $button->reset_formats(); - $this->portfolioform = $button->to_html(PORTFOLIO_ADD_TEXT_LINK); - } - - } - $this->preprocess($this->dir, $filearea, $component); } @@ -910,7 +892,7 @@ * @return void */ public function preprocess($dir, $filearea, $component) { - global $CFG; + global $CFG, $USER; foreach ($dir['subdirs'] as $subdir) { $this->preprocess($subdir, $filearea, $component); } @@ -919,7 +901,7 @@ if (!empty($CFG->enableportfolios)) { require_once($CFG->libdir . '/portfoliolib.php'); $button = new portfolio_add_button(); - if (has_capability('mod/assign:exportownsubmission', $this->context)) { + if (has_capability('mod/assign:exportownsubmission', $this->context) && $USER->id == $file->get_userid() && $filearea != 'feedback_files') { $portfolioparams = array('cmid' => $this->cm->id, 'fileid' => $file->get_id()); $button->set_callback_options('assign_portfolio_caller', $portfolioparams,