AutorÃa | 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/>./*** The gradepenalty_duedate lib file.** @package gradepenalty_duedate* @copyright 2024 Catalyst IT Australia Pty Ltd* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/use core\url;/*** Extend the course navigation with a penalty rule settings.** @param navigation_node $navigation The settings navigation object* @param stdClass $course The course* @param context $context Course context* @return void*/function gradepenalty_duedate_extend_navigation_course(navigation_node $navigation, stdClass $course, context $context): void {if (has_capability('gradepenalty/duedate:manage', $context)) {$url = new url('/grade/penalty/duedate/manage_penalty_rule.php', ['contextid' => $context->id]);$name = get_string('penaltyrule', 'gradepenalty_duedate');$navigation->add($name, $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/settings', ''));}}/*** Extend the module navigation with a penalty rule settings.** @param navigation_node $navigation The settings navigation object* @param cm_info $cm The course module* @return void*/function gradepenalty_duedate_extend_navigation_module(navigation_node $navigation, cm_info $cm): void {$context = context_module::instance($cm->id);if (has_capability('gradepenalty/duedate:manage', $context)) {$url = new url('/grade/penalty/duedate/manage_penalty_rule.php', ['contextid' => $context->id]);$name = get_string('penaltyrule', 'gradepenalty_duedate');$navigation->add($name, $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/settings', ''));}}/*** Load penalty rule form.** @param array $args parameters to load the form* @return string html and js of the form*/function gradepenalty_duedate_output_fragment_penalty_rule_form(array $args): string {$context = $args['context'];$params = ['contextid' => $context->id,'action' => new url('/grade/penalty/duedate/manage_penalty_rule.php', ['contextid' => $context->id]),'penaltyrules' => json_decode($args['penaltyrules'], true),'finalpenaltyrule' => $args['finalpenaltyrule'],];// Load edit penalty form.$form = new gradepenalty_duedate\output\form\edit_penalty_form($params['action'], $params);// Return html and js.return $form->render();}/*** Define the setting page for the penalty rule.*/function gradepenalty_duedate_get_settings_url(): url {return new url('/grade/penalty/duedate/manage_penalty_rule.php', ['contextid' => \core\context\system::instance()->id,]);}