Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>.namespace mod_feedback\output;use moodle_url;use action_link;use single_select;use url_select;/*** Class actionbar - Display the action bar** @package mod_feedback* @copyright 2021 Peter Dias* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/class edit_action_bar extends base_action_bar {/** @var moodle_url $currenturl The current page url */private $currenturl;/** @var int|null $lastposition The index of the last question type in the feedback module */private $lastposition;/*** edit_action_bar constructor.** @param int $cmid The course module id* @param moodle_url $pageurl The current page url* @param int|null $lastposition Index of the last question in the feedback*/public function __construct(int $cmid, moodle_url $pageurl, ?int $lastposition = null) {parent::__construct($cmid);$this->currenturl = $pageurl;$this->lastposition = $lastposition;}/*** Return the items to be used for the tertiary nav** @return array*/public function get_items(): array {global $DB;$url = new moodle_url('/mod/feedback/view.php', ['id' => $this->cmid]);$items['left'][]['actionlink'] = new action_link($url, get_string('back'), null, ['class' => 'btn btn-secondary']);if (has_capability('mod/feedback:edititems', $this->context)) {$editurl = new moodle_url('/mod/feedback/edit.php', $this->urlparams);$templateurl = new moodle_url('/mod/feedback/manage_templates.php', $this->urlparams);$importurl = new moodle_url('/mod/feedback/import.php', $this->urlparams);$options = [$editurl->out(false) => get_string('add_item', 'feedback'),$templateurl->out(false) => get_string('using_templates', 'feedback'),$importurl->out(false) => get_string('import_questions', 'feedback')];$selected = $this->currenturl;// Template pages can have sub pages, so match these.if ($this->currenturl->compare(new moodle_url('/mod/feedback/use_templ.php'), URL_MATCH_BASE)) {$selected = $templateurl;}$items['left'][]['urlselect'] = new url_select($options, $selected->out(false), null);$viewquestions = $editurl->compare($this->currenturl);if ($viewquestions) {$select = new single_select(new moodle_url('/mod/feedback/edit_item.php',['cmid' => $this->cmid, 'position' => $this->lastposition, 'sesskey' => sesskey()]),'typ', feedback_load_feedback_items_options());$items['left'][]['singleselect'] = $select;if ($DB->record_exists('feedback_item', ['feedback' => $this->feedback->id])) {$items['export'] = new action_link(new moodle_url('/mod/feedback/export.php', $this->urlparams + ['action' => 'exportfile']),get_string('export_questions', 'feedback'),null,['class' => 'btn btn-secondary'],);}}}return $items;}}