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 * Prints the compliance data registry main page.
19 *
20 * @copyright 2018 onwards Adrian Greeve <adriangreeve.com>
21 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
22 * @package tool_dataprivacy
23 */
24
25require_once(__DIR__ . '/../../../config.php');
26require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/dataprivacy/lib.php');
27
28require_login(null, false);
29
30$contextlevel = optional_param('contextlevel', CONTEXT_SYSTEM, PARAM_INT);
31$contextid = optional_param('contextid', 0, PARAM_INT);
32
33$url = new moodle_url('/' . $CFG->admin . '/tool/dataprivacy/pluginregistry.php');
34$title = get_string('pluginregistry', 'tool_dataprivacy');
35
36\tool_dataprivacy\page_helper::setup($url, $title);
37
38$output = $PAGE->get_renderer('tool_dataprivacy');
39echo $output->header();
40
41if (\tool_dataprivacy\api::is_site_dpo($USER->id)) {
42    // Get data!
43    $metadatatool = new \tool_dataprivacy\metadata_registry();
44    $metadata = $metadatatool->get_registry_metadata();
45
46    $dataregistry = new tool_dataprivacy\output\data_registry_compliance_page($metadata);
47
48    echo $output->render($dataregistry);
49} else {
50    $dponamestring = implode (', ', tool_dataprivacy\api::get_dpo_role_names());
51    $message = get_string('privacyofficeronly', 'tool_dataprivacy', $dponamestring);
52    echo $OUTPUT->notification($message, 'error');
53}
54
55echo $OUTPUT->footer();
56