From 184c8ddb255c684b91fc8a63c7e4043babc0a48e Mon Sep 17 00:00:00 2001 From: cescobedo Date: Mon, 23 Apr 2018 14:19:04 +0200 Subject: [PATCH] MDL-61915 enrol: Add privacy implementation for all enrol plugins None of the Enrol plugins (except lti and paypal) have any user preference or database table. They all implement the null provider. --- enrol/category/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/category/lang/en/enrol_category.php | 1 + enrol/cohort/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/cohort/lang/en/enrol_cohort.php | 1 + enrol/database/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/database/lang/en/enrol_database.php | 1 + enrol/flatfile/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/flatfile/lang/en/enrol_flatfile.php | 1 + enrol/guest/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/guest/lang/en/enrol_guest.php | 1 + .../classes/privacy/provider.php | 41 +++++++++++++++++++ .../lang/en/enrol_imsenterprise.php | 1 + enrol/ldap/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/ldap/lang/en/enrol_ldap.php | 1 + enrol/manual/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/manual/lang/en/enrol_manual.php | 1 + enrol/meta/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/meta/lang/en/enrol_meta.php | 1 + enrol/mnet/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/mnet/lang/en/enrol_mnet.php | 1 + enrol/self/classes/privacy/provider.php | 41 +++++++++++++++++++ enrol/self/lang/en/enrol_self.php | 2 + 22 files changed, 463 insertions(+) create mode 100644 enrol/category/classes/privacy/provider.php create mode 100644 enrol/cohort/classes/privacy/provider.php create mode 100644 enrol/database/classes/privacy/provider.php create mode 100644 enrol/flatfile/classes/privacy/provider.php create mode 100644 enrol/guest/classes/privacy/provider.php create mode 100644 enrol/imsenterprise/classes/privacy/provider.php create mode 100644 enrol/ldap/classes/privacy/provider.php create mode 100644 enrol/manual/classes/privacy/provider.php create mode 100644 enrol/meta/classes/privacy/provider.php create mode 100644 enrol/mnet/classes/privacy/provider.php create mode 100644 enrol/self/classes/privacy/provider.php diff --git a/enrol/category/classes/privacy/provider.php b/enrol/category/classes/privacy/provider.php new file mode 100644 index 00000000000..aebab7302b7 --- /dev/null +++ b/enrol/category/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_category. + * + * @package enrol_category + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_category\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_category implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/category/lang/en/enrol_category.php b/enrol/category/lang/en/enrol_category.php index 5857ccc3148..0b427377a38 100644 --- a/enrol/category/lang/en/enrol_category.php +++ b/enrol/category/lang/en/enrol_category.php @@ -26,3 +26,4 @@ $string['category:config'] = 'Configure category enrol instances'; $string['category:synchronised'] = 'Role assignments synchronised to course enrolment'; $string['pluginname'] = 'Category enrolments'; $string['pluginname_desc'] = 'The category enrolments plugin synchronises any role assignments in the category context for roles with the capability enrol/category:synchronised allowed.'; +$string['privacy:metadata'] = 'The Category enrolments plugin does not store any personal data.'; diff --git a/enrol/cohort/classes/privacy/provider.php b/enrol/cohort/classes/privacy/provider.php new file mode 100644 index 00000000000..b24b082e4d5 --- /dev/null +++ b/enrol/cohort/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_cohort. + * + * @package enrol_cohort + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_cohort\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_cohort implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/cohort/lang/en/enrol_cohort.php b/enrol/cohort/lang/en/enrol_cohort.php index c96d02d1e64..7bfd641f319 100644 --- a/enrol/cohort/lang/en/enrol_cohort.php +++ b/enrol/cohort/lang/en/enrol_cohort.php @@ -32,3 +32,4 @@ $string['pluginname'] = 'Cohort sync'; $string['pluginname_desc'] = 'Cohort enrolment plugin synchronises cohort members with course participants.'; $string['status'] = 'Active'; $string['creategroup'] = 'Create new group'; +$string['privacy:metadata'] = 'The Cohort sync enrolments plugin does not store any personal data.'; diff --git a/enrol/database/classes/privacy/provider.php b/enrol/database/classes/privacy/provider.php new file mode 100644 index 00000000000..f61da640981 --- /dev/null +++ b/enrol/database/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_database. + * + * @package enrol_database + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_database\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_database implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/database/lang/en/enrol_database.php b/enrol/database/lang/en/enrol_database.php index 8fc2e39063d..be21f84eb76 100644 --- a/enrol/database/lang/en/enrol_database.php +++ b/enrol/database/lang/en/enrol_database.php @@ -73,3 +73,4 @@ $string['settingsheadernewcourses'] = 'Creation of new courses'; $string['remoteuserfield_desc'] = 'The name of the field in the remote table that we are using to match entries in the user table.'; $string['templatecourse'] = 'New course template'; $string['templatecourse_desc'] = 'Optional: auto-created courses can copy their settings from a template course. Type here the shortname of the template course.'; +$string['privacy:metadata'] = 'The External database enrolments plugin does not store any personal data.'; diff --git a/enrol/flatfile/classes/privacy/provider.php b/enrol/flatfile/classes/privacy/provider.php new file mode 100644 index 00000000000..c6b50150603 --- /dev/null +++ b/enrol/flatfile/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_flatfile. + * + * @package enrol_flatfile + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_flatfile\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_flatfile implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/flatfile/lang/en/enrol_flatfile.php b/enrol/flatfile/lang/en/enrol_flatfile.php index 886192870be..12043aefcc5 100644 --- a/enrol/flatfile/lang/en/enrol_flatfile.php +++ b/enrol/flatfile/lang/en/enrol_flatfile.php @@ -61,3 +61,4 @@ It could look something like this: del, student, 17, CF101 add, student, 21, CF101, 1091115000, 1091215000 '; +$string['privacy:metadata'] = 'The Flat file (CSV) enrolments plugin does not store any personal data.'; diff --git a/enrol/guest/classes/privacy/provider.php b/enrol/guest/classes/privacy/provider.php new file mode 100644 index 00000000000..b63eaf2dee7 --- /dev/null +++ b/enrol/guest/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_guest. + * + * @package enrol_guest + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_guest\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_guest implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/guest/lang/en/enrol_guest.php b/enrol/guest/lang/en/enrol_guest.php index f536bb211fb..fa97e438323 100644 --- a/enrol/guest/lang/en/enrol_guest.php +++ b/enrol/guest/lang/en/enrol_guest.php @@ -43,3 +43,4 @@ $string['status_help'] = 'This setting determines whether a user can access the $string['status_link'] = 'enrol/guest'; $string['usepasswordpolicy'] = 'Use password policy'; $string['usepasswordpolicy_desc'] = 'Use standard password policy for guest access passwords.'; +$string['privacy:metadata'] = 'The Guest access enrolments plugin does not store any personal data.'; diff --git a/enrol/imsenterprise/classes/privacy/provider.php b/enrol/imsenterprise/classes/privacy/provider.php new file mode 100644 index 00000000000..dbf418b4dc4 --- /dev/null +++ b/enrol/imsenterprise/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_imsenterprise. + * + * @package enrol_imsenterprise + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_imsenterprise\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_imsenterprise implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/imsenterprise/lang/en/enrol_imsenterprise.php b/enrol/imsenterprise/lang/en/enrol_imsenterprise.php index 01caa10ba66..7e4a4444bd7 100644 --- a/enrol/imsenterprise/lang/en/enrol_imsenterprise.php +++ b/enrol/imsenterprise/lang/en/enrol_imsenterprise.php @@ -92,3 +92,4 @@ $string['zeroisnotruncation'] = '0 indicates no truncation'; $string['roles'] = 'Roles'; $string['ignore'] = 'Ignore'; $string['importimsfile'] = 'Import IMS Enterprise file'; +$string['privacy:metadata'] = 'The IMS Enterprise file enrolments plugin does not store any personal data.'; diff --git a/enrol/ldap/classes/privacy/provider.php b/enrol/ldap/classes/privacy/provider.php new file mode 100644 index 00000000000..757b9c9fe2f --- /dev/null +++ b/enrol/ldap/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_ldap. + * + * @package enrol_ldap + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_ldap\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_ldap implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/ldap/lang/en/enrol_ldap.php b/enrol/ldap/lang/en/enrol_ldap.php index e0834e27712..7b4db432235 100644 --- a/enrol/ldap/lang/en/enrol_ldap.php +++ b/enrol/ldap/lang/en/enrol_ldap.php @@ -128,3 +128,4 @@ $string['user_type'] = 'If the group membership contains distinguished names, sp $string['user_type_key'] = 'User type'; $string['version'] = 'The version of the LDAP protocol your server is using'; $string['version_key'] = 'Version'; +$string['privacy:metadata'] = 'The LDAP enrolments plugin does not store any personal data.'; diff --git a/enrol/manual/classes/privacy/provider.php b/enrol/manual/classes/privacy/provider.php new file mode 100644 index 00000000000..7b6becd668c --- /dev/null +++ b/enrol/manual/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_manual. + * + * @package enrol_manual + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_manual\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_manual implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/manual/lang/en/enrol_manual.php b/enrol/manual/lang/en/enrol_manual.php index 2b3c5723b90..0d1a94c942b 100644 --- a/enrol/manual/lang/en/enrol_manual.php +++ b/enrol/manual/lang/en/enrol_manual.php @@ -74,3 +74,4 @@ $string['wscannotenrol'] = 'Plugin instance cannot manually enrol a user in the $string['wsnoinstance'] = 'Manual enrolment plugin instance doesn\'t exist or is disabled for the course (id = {$a->courseid})'; $string['wsusercannotassign'] = 'You don\'t have the permission to assign this role ({$a->roleid}) to this user ({$a->userid}) in this course({$a->courseid}).'; $string['manualpluginnotinstalled'] = 'The "Manual" plugin has not yet been installed'; +$string['privacy:metadata'] = 'The Manual enrolments plugin does not store any personal data.'; diff --git a/enrol/meta/classes/privacy/provider.php b/enrol/meta/classes/privacy/provider.php new file mode 100644 index 00000000000..feefd8d7db4 --- /dev/null +++ b/enrol/meta/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_meta. + * + * @package enrol_meta + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_meta\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_meta implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/meta/lang/en/enrol_meta.php b/enrol/meta/lang/en/enrol_meta.php index e5c2f21cb09..8790688bb84 100644 --- a/enrol/meta/lang/en/enrol_meta.php +++ b/enrol/meta/lang/en/enrol_meta.php @@ -37,3 +37,4 @@ $string['pluginname'] = 'Course meta link'; $string['pluginname_desc'] = 'Course meta link enrolment plugin synchronises enrolments and roles in two different courses.'; $string['syncall'] = 'Synchronise all enrolled users'; $string['syncall_desc'] = 'If enabled all enrolled users are synchronised even if they have no role in parent course, if disabled only users that have at least one synchronised role are enrolled in child course.'; +$string['privacy:metadata'] = 'The Course meta link enrolments plugin does not store any personal data.'; diff --git a/enrol/mnet/classes/privacy/provider.php b/enrol/mnet/classes/privacy/provider.php new file mode 100644 index 00000000000..50ec6539c4f --- /dev/null +++ b/enrol/mnet/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_mnet. + * + * @package enrol_mnet + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_mnet\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_mnet implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/mnet/lang/en/enrol_mnet.php b/enrol/mnet/lang/en/enrol_mnet.php index 2fb3ed0946c..4741841c1a4 100644 --- a/enrol/mnet/lang/en/enrol_mnet.php +++ b/enrol/mnet/lang/en/enrol_mnet.php @@ -35,3 +35,4 @@ $string['remotesubscriber_help'] = 'Select \'All hosts\' to open this course for $string['remotesubscribersall'] = 'All hosts'; $string['roleforremoteusers'] = 'Role for their users'; $string['roleforremoteusers_help'] = 'What role will the remote users from the selected host get.'; +$string['privacy:metadata'] = 'The MNet remote enrolments plugin does not store any personal data.'; diff --git a/enrol/self/classes/privacy/provider.php b/enrol/self/classes/privacy/provider.php new file mode 100644 index 00000000000..76030b7ea11 --- /dev/null +++ b/enrol/self/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for enrol_self. + * + * @package enrol_self + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace enrol_self\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for enrol_self implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/enrol/self/lang/en/enrol_self.php b/enrol/self/lang/en/enrol_self.php index 5f4e5e1a39e..20f8b389fae 100644 --- a/enrol/self/lang/en/enrol_self.php +++ b/enrol/self/lang/en/enrol_self.php @@ -115,3 +115,5 @@ $string['welcometocoursetext'] = 'Welcome to {$a->coursename}! If you have not done so already, you should edit your profile page so that we can learn more about you: {$a->profileurl}'; +$string['privacy:metadata'] = 'The Self enrolments plugin does not store any personal data.'; +