. namespace mod_assign\output; use templatable; use renderable; use moodle_url; /** * Output the actionbar for this activity. * * @package mod_assign * @copyright 2021 Adrian Greeve * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class actionmenu implements templatable, renderable { /** @var int The course module ID. */ private $cmid; /** * Constructor for this object. * * @param int $cmid The course module ID. */ public function __construct(int $cmid) { $this->cmid = $cmid; } /** * Data to be used for a template. * * @param \renderer_base $output renderer base output. * @return array Data to be used for a template. */ public function export_for_template(\renderer_base $output): array { $submissionlink = new moodle_url('/mod/assign/view.php', ['id' => $this->cmid, 'action' => 'grading']); $return = ['submissionlink' => $submissionlink->out(false)]; if (has_capability('mod/assign:grade', \context_module::instance($this->cmid))) { $gradelink = new moodle_url('/mod/assign/view.php', ['id' => $this->cmid, 'action' => 'grader']); $return['gradelink'] = $gradelink->out(false); } return $return; } }