Select Git revision
__init__.py
-
Stuart D. Gathman authoredStuart D. Gathman authored
provider.php 19.69 KiB
<?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/>.
/**
* @package mod_pdfannotator
* @category backup
* @copyright 2018 RWTH Aachen (see README.md)
* @author Anna Heynkes
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace mod_pdfannotator\privacy;
defined('MOODLE_INTERNAL') || die();
use \core_privacy\local\request\approved_contextlist;
use \core_privacy\local\request\deletion_criteria;
use \core_privacy\local\request\writer;
use \core_privacy\local\request\helper as request_helper;
use \core_privacy\local\metadata\collection;
use \core_privacy\local\request\transform;
/**
* Description of provider
*
* @author Admin
*/
class provider implements \core_privacy\local\metadata\provider, \core_privacy\local\request\plugin\provider {
/**
* This function implements the \core_privacy\local\metadata\provider interface.
*
* It describes what kind of data is stored by the pdfannotator, including:
*
* 1. Items stored in a Moodle subsystem - for example files, and ratings
* 2. Items stored in the Moodle database
* 3. User preferences stored site-wide within Moodle for the pdfannotator
* 4. Data being exported to an external location
*
* @param collection $collection
* @return collection
*/
public static function get_metadata(collection $collection): collection {
// 1. Indicating that you store content in a Moodle subsystem.
// 1.1 Files uploaded by users are saved.
$collection->add_subsystem_link(
'core_files', [], 'privacy:metadata:core_files'
);
// 2. Describing data stored in database tables.
// 2.1 A user's annotations in the pdf are stored.
$collection->add_database_table(
'pdfannotator_annotations', [
'userid' => 'privacy:metadata:pdfannotator_annotations:userid',
'id' => 'privacy:metadata:pdfannotator_annotations:annotationid',
], 'privacy:metadata:pdfannotator_annotations'
);