Skip to content

Commit

Permalink
add hooks superseding lib.php callbacks for Moodle 4.4 and beyond
Browse files Browse the repository at this point in the history
  • Loading branch information
usqfowlerj committed May 2, 2024
1 parent d350cdf commit ff652d3
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 0 deletions.
47 changes: 47 additions & 0 deletions classes/hook_callbacks.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?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 local_csp;

/**
* Hook callbacks for local_csp
*
* @package local_csp
* @copyright 2024 Catalyst IT
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class hook_callbacks {
/**
* Callback to add head elements.
* @param \core\hook\output\before_standard_head_html_generation $hook
*/
public static function before_standard_head_html_generation(
\core\hook\output\before_standard_head_html_generation $hook,
): void {
$hook->add_html(\local_csp\helper::enable_notifications());
}

/**
* Callback to add http headers.
* @param \core\hook\output\before_http_headers $hook
*/
public static function before_http_headers(
\core\hook\output\before_http_headers $hook,
): void {
\local_csp\helper::enable_csp_header();
\local_csp\helper::enable_feature_policy();
}
}
36 changes: 36 additions & 0 deletions db/hooks.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?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/>.

/**
* Hook callbacks for local_csp
*
* @package local_csp
* @copyright 2024 Catalyst IT
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

defined('MOODLE_INTERNAL') || die();

$callbacks = [
[
'hook' => \core\hook\output\before_standard_head_html_generation::class,
'callback' => \local_csp\hook_callbacks::class . '::before_standard_head_html_generation',
],
[
'hook' => \core\hook\output\before_http_headers::class,
'callback' => \local_csp\hook_callbacks::class . '::before_http_headers',
],
];

0 comments on commit ff652d3

Please sign in to comment.