1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Output the grading actionbar for this activity. 19 * 20 * @package mod_assign 21 * @copyright 2021 Adrian Greeve <adrian@moodle.com> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 namespace mod_assign\output; 26 27 use templatable; 28 use renderable; 29 use moodle_url; 30 31 /** 32 * Output the grading actionbar for this activity. 33 * 34 * @package mod_assign 35 * @copyright 2021 Adrian Greeve <adrian@moodle.com> 36 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 37 */ 38 class grading_actionmenu implements templatable, renderable { 39 40 /** @var int Course module ID. */ 41 protected $cmid; 42 /** @var bool If any submission plugins are enabled. */ 43 protected $submissionpluginenabled; 44 /** @var int The number of submissions made. */ 45 protected $submissioncount; 46 47 48 /** 49 * Constructor for this object. 50 * 51 * @param int $cmid Course module ID. 52 * @param bool $submissionpluginenabled If any submission plugins are enabled. 53 * @param int $submissioncount The number of submissions made. 54 */ 55 public function __construct(int $cmid, bool $submissionpluginenabled = false, int $submissioncount = 0) { 56 $this->cmid = $cmid; 57 $this->submissionpluginenabled = $submissionpluginenabled; 58 $this->submissioncount = $submissioncount; 59 60 } 61 62 /** 63 * Data to render in a template. 64 * 65 * @param \renderer_base $output renderer base output. 66 * @return array Data to render. 67 */ 68 public function export_for_template(\renderer_base $output): array { 69 $downloadall = ''; 70 if ($this->submissionpluginenabled && $this->submissioncount) { 71 $downloadall = (new moodle_url('/mod/assign/view.php', ['id' => $this->cmid, 'action' => 'downloadall']))->out(false); 72 } 73 return [ 74 'back' => (new moodle_url('/mod/assign/view.php', ['id' => $this->cmid]))->out(false), 75 'downloadall' => $downloadall 76 ]; 77 } 78 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body