MDL-61916 format: Add privacy implementation for all format plugins
authorcescobedo <carlos.escobedo@gmail.com>
Mon, 9 Apr 2018 22:17:42 +0000 (00:17 +0200)
committercescobedo <carlos.escobedo@gmail.com>
Mon, 9 Apr 2018 22:17:42 +0000 (00:17 +0200)
None of the Course format plugins have any user preference or database table.
They all implement the null provider.

course/format/singleactivity/classes/privacy/provider.php [new file with mode: 0644]
course/format/singleactivity/lang/en/format_singleactivity.php
course/format/social/classes/privacy/provider.php [new file with mode: 0644]
course/format/social/lang/en/format_social.php
course/format/topics/classes/privacy/provider.php [new file with mode: 0644]
course/format/topics/lang/en/format_topics.php
course/format/weeks/classes/privacy/provider.php [new file with mode: 0644]
course/format/weeks/lang/en/format_weeks.php

diff --git a/course/format/singleactivity/classes/privacy/provider.php b/course/format/singleactivity/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..fd37615
--- /dev/null
@@ -0,0 +1,41 @@
+<?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/>.
+/**
+ * Privacy Subsystem implementation for format_singleactivity.
+ *
+ * @package    format_singleactivity
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace format_singleactivity\privacy;
+defined('MOODLE_INTERNAL') || die();
+/**
+ * Privacy Subsystem for format_singleactivity implementing null_provider.
+ *
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @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() : string {
+        return 'privacy:metadata';
+    }
+}
\ No newline at end of file
index b6da590..8a21950 100644 (file)
@@ -32,3 +32,4 @@ $string['orphanedwarning'] = 'These activities are unreachable by users!';
 $string['pluginname'] = 'Single activity format';
 $string['sectionname'] = '';
 $string['warningchangeformat'] = 'When changing the existing course format to "Single activity" make sure that you removed all extra activities from the course including "Announcements". Note that sections structure may be modified.';
+$string['privacy:metadata'] = 'The Single activity format plugin does not store any personal data.';
diff --git a/course/format/social/classes/privacy/provider.php b/course/format/social/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..e5999ef
--- /dev/null
@@ -0,0 +1,41 @@
+<?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/>.
+/**
+ * Privacy Subsystem implementation for format_social.
+ *
+ * @package    format_social
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace format_social\privacy;
+defined('MOODLE_INTERNAL') || die();
+/**
+ * Privacy Subsystem for format_social implementing null_provider.
+ *
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @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() : string {
+        return 'privacy:metadata';
+    }
+}
\ No newline at end of file
index ce6963e..46e82b9 100644 (file)
@@ -27,3 +27,4 @@ $string['numberdiscussions'] = 'Number of discussions';
 $string['numberdiscussions_help'] = 'This setting specifies how many discussions should be displayed.';
 $string['pluginname'] = 'Social format';
 $string['sectionname'] = 'section';
+$string['privacy:metadata'] = 'The Social format plugin does not store any personal data.';
diff --git a/course/format/topics/classes/privacy/provider.php b/course/format/topics/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..5f365c1
--- /dev/null
@@ -0,0 +1,41 @@
+<?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/>.
+/**
+ * Privacy Subsystem implementation for format_topics.
+ *
+ * @package    format_topics
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace format_topics\privacy;
+defined('MOODLE_INTERNAL') || die();
+/**
+ * Privacy Subsystem for format_topics implementing null_provider.
+ *
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @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() : string {
+        return 'privacy:metadata';
+    }
+}
\ No newline at end of file
index d9d9a15..0b7c16c 100644 (file)
@@ -36,3 +36,4 @@ $string['page-course-view-topics'] = 'Any course main page in topics format';
 $string['page-course-view-topics-x'] = 'Any course page in topics format';
 $string['hidefromothers'] = 'Hide topic';
 $string['showfromothers'] = 'Show topic';
+$string['privacy:metadata'] = 'The Topics format plugin does not store any personal data.';
diff --git a/course/format/weeks/classes/privacy/provider.php b/course/format/weeks/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..7e44c27
--- /dev/null
@@ -0,0 +1,41 @@
+<?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/>.
+/**
+ * Privacy Subsystem implementation for format_weeks.
+ *
+ * @package    format_weeks
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace format_weeks\privacy;
+defined('MOODLE_INTERNAL') || die();
+/**
+ * Privacy Subsystem for format_weeks implementing null_provider.
+ *
+ * @copyright  2018 Carlos Escobedo <carlos@moodle.com>
+ * @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() : string {
+        return 'privacy:metadata';
+    }
+}
\ No newline at end of file
index 4f1eaa9..e73e477 100644 (file)
@@ -38,3 +38,4 @@ $string['hidefromothers'] = 'Hide week';
 $string['showfromothers'] = 'Show week';
 $string['automaticenddate'] = 'Calculate the end date from the number of sections';
 $string['automaticenddate_help'] = 'If enabled, the end date for the course will be automatically calculated from the number of sections and the course start date.';
+$string['privacy:metadata'] = 'The Weekly format plugin does not store any personal data.';