From e484db7c94f87f1b4077a9874cc39a6aafae378f Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Sun, 8 Apr 2018 15:51:29 +0800 Subject: [PATCH] MDL-61896 filter: Implement privacy API for all filters --- .../classes/privacy/provider.php | 46 +++++++++++++++++++ .../lang/en/filter_activitynames.php | 1 + filter/algebra/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/algebra/lang/en/filter_algebra.php | 1 + filter/censor/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/censor/lang/en/filter_censor.php | 1 + filter/data/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/data/lang/en/filter_data.php | 1 + .../emailprotect/classes/privacy/provider.php | 46 +++++++++++++++++++ .../lang/en/filter_emailprotect.php | 1 + filter/emoticon/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/emoticon/lang/en/filter_emoticon.php | 1 + filter/glossary/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/glossary/lang/en/filter_glossary.php | 1 + .../classes/privacy/provider.php | 46 +++++++++++++++++++ .../lang/en/filter_mathjaxloader.php | 1 + .../mediaplugin/classes/privacy/provider.php | 46 +++++++++++++++++++ .../lang/en/filter_mediaplugin.php | 1 + filter/multilang/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/multilang/lang/en/filter_multilang.php | 1 + filter/tex/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/tex/lang/en/filter_tex.php | 1 + filter/tidy/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/tidy/lang/en/filter_tidy.php | 1 + filter/urltolink/classes/privacy/provider.php | 46 +++++++++++++++++++ filter/urltolink/lang/en/filter_urltolink.php | 1 + 26 files changed, 611 insertions(+) create mode 100644 filter/activitynames/classes/privacy/provider.php create mode 100644 filter/algebra/classes/privacy/provider.php create mode 100644 filter/censor/classes/privacy/provider.php create mode 100644 filter/data/classes/privacy/provider.php create mode 100644 filter/emailprotect/classes/privacy/provider.php create mode 100644 filter/emoticon/classes/privacy/provider.php create mode 100644 filter/glossary/classes/privacy/provider.php create mode 100644 filter/mathjaxloader/classes/privacy/provider.php create mode 100644 filter/mediaplugin/classes/privacy/provider.php create mode 100644 filter/multilang/classes/privacy/provider.php create mode 100644 filter/tex/classes/privacy/provider.php create mode 100644 filter/tidy/classes/privacy/provider.php create mode 100644 filter/urltolink/classes/privacy/provider.php diff --git a/filter/activitynames/classes/privacy/provider.php b/filter/activitynames/classes/privacy/provider.php new file mode 100644 index 00000000000..1983f142750 --- /dev/null +++ b/filter/activitynames/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_activitynames. + * + * @package filter_activitynames + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_activitynames\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_activitynames implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/activitynames/lang/en/filter_activitynames.php b/filter/activitynames/lang/en/filter_activitynames.php index 6ffcaf953df..b1aab175c9d 100644 --- a/filter/activitynames/lang/en/filter_activitynames.php +++ b/filter/activitynames/lang/en/filter_activitynames.php @@ -24,3 +24,4 @@ */ $string['filtername'] = 'Activity names auto-linking'; +$string['privacy:metadata'] = 'The Activity names auto-linking plugin does not store any personal data.'; diff --git a/filter/algebra/classes/privacy/provider.php b/filter/algebra/classes/privacy/provider.php new file mode 100644 index 00000000000..54071f70232 --- /dev/null +++ b/filter/algebra/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_algebra. + * + * @package filter_algebra + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_algebra\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_algebra implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/algebra/lang/en/filter_algebra.php b/filter/algebra/lang/en/filter_algebra.php index 6db42a1aad5..1d9ad59994d 100644 --- a/filter/algebra/lang/en/filter_algebra.php +++ b/filter/algebra/lang/en/filter_algebra.php @@ -25,3 +25,4 @@ $string['filtername'] = 'Algebra notation'; $string['algebraicexpression'] = 'Algebraic expression'; +$string['privacy:metadata'] = 'The Algebra notation plugin does not store any personal data.'; diff --git a/filter/censor/classes/privacy/provider.php b/filter/censor/classes/privacy/provider.php new file mode 100644 index 00000000000..c7d386bf4fb --- /dev/null +++ b/filter/censor/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_censor. + * + * @package filter_censor + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_censor\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_censor implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/censor/lang/en/filter_censor.php b/filter/censor/lang/en/filter_censor.php index 566936607bc..1a4cc6e951c 100644 --- a/filter/censor/lang/en/filter_censor.php +++ b/filter/censor/lang/en/filter_censor.php @@ -25,3 +25,4 @@ $string['badwords'] = 'shit,fucked,fucker,fuck,dickhead,dick,cockhead,cock,cunt,asshole,arsehole,prick,bitch,jism,whore,slut,wanker,wank,bastard,dildo,masturbate,orgasm,penis,nigger,pussy,vagina'; $string['filtername'] = 'Word censorship'; +$string['privacy:metadata'] = 'The Word censorship plugin does not store any personal data.'; diff --git a/filter/data/classes/privacy/provider.php b/filter/data/classes/privacy/provider.php new file mode 100644 index 00000000000..ad935200933 --- /dev/null +++ b/filter/data/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_data. + * + * @package filter_data + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_data\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_data implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/data/lang/en/filter_data.php b/filter/data/lang/en/filter_data.php index a6d1f4de614..1ce296b5f87 100644 --- a/filter/data/lang/en/filter_data.php +++ b/filter/data/lang/en/filter_data.php @@ -26,3 +26,4 @@ defined('MOODLE_INTERNAL') || die(); $string['filtername'] = 'Database auto-linking'; +$string['privacy:metadata'] = 'The Database auto-linking plugin does not store any personal data.'; diff --git a/filter/emailprotect/classes/privacy/provider.php b/filter/emailprotect/classes/privacy/provider.php new file mode 100644 index 00000000000..effde515c13 --- /dev/null +++ b/filter/emailprotect/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_emailprotect. + * + * @package filter_emailprotect + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_emailprotect\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_emailprotect implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/emailprotect/lang/en/filter_emailprotect.php b/filter/emailprotect/lang/en/filter_emailprotect.php index 7c86187784b..647f6b8486c 100644 --- a/filter/emailprotect/lang/en/filter_emailprotect.php +++ b/filter/emailprotect/lang/en/filter_emailprotect.php @@ -24,3 +24,4 @@ */ $string['filtername'] = 'Email protection'; +$string['privacy:metadata'] = 'The Email protection plugin does not store any personal data.'; diff --git a/filter/emoticon/classes/privacy/provider.php b/filter/emoticon/classes/privacy/provider.php new file mode 100644 index 00000000000..57b33c5a973 --- /dev/null +++ b/filter/emoticon/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_emoticon. + * + * @package filter_emoticon + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_emoticon\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_emoticon implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/emoticon/lang/en/filter_emoticon.php b/filter/emoticon/lang/en/filter_emoticon.php index ca96f371343..0fc2af045f4 100644 --- a/filter/emoticon/lang/en/filter_emoticon.php +++ b/filter/emoticon/lang/en/filter_emoticon.php @@ -29,3 +29,4 @@ defined('MOODLE_INTERNAL') || die(); $string['filtername'] = 'Display emoticons as images'; $string['settingformats'] = 'Apply to formats'; $string['settingformats_desc'] = 'The filter will be applied only if the original text was inserted in one of the selected formats.'; +$string['privacy:metadata'] = 'The Display emoticons as images plugin does not store any personal data.'; diff --git a/filter/glossary/classes/privacy/provider.php b/filter/glossary/classes/privacy/provider.php new file mode 100644 index 00000000000..3bb71e51040 --- /dev/null +++ b/filter/glossary/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_glossary. + * + * @package filter_glossary + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_glossary\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_glossary implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/glossary/lang/en/filter_glossary.php b/filter/glossary/lang/en/filter_glossary.php index 5ca0606f76a..0f14c51d5fc 100644 --- a/filter/glossary/lang/en/filter_glossary.php +++ b/filter/glossary/lang/en/filter_glossary.php @@ -26,3 +26,4 @@ defined('MOODLE_INTERNAL') || die(); $string['filtername'] = 'Glossary auto-linking'; +$string['privacy:metadata'] = 'The Glossary auto-linking plugin does not store any personal data.'; diff --git a/filter/mathjaxloader/classes/privacy/provider.php b/filter/mathjaxloader/classes/privacy/provider.php new file mode 100644 index 00000000000..59f973cc493 --- /dev/null +++ b/filter/mathjaxloader/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_mathjaxloader. + * + * @package filter_mathjaxloader + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_mathjaxloader\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_mathjaxloader implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/mathjaxloader/lang/en/filter_mathjaxloader.php b/filter/mathjaxloader/lang/en/filter_mathjaxloader.php index 53378657cd3..cbe42bd153c 100644 --- a/filter/mathjaxloader/lang/en/filter_mathjaxloader.php +++ b/filter/mathjaxloader/lang/en/filter_mathjaxloader.php @@ -41,3 +41,4 @@ This can be useful to save on bandwidth or because of local proxy restrictions. To use a local installation of MathJax, first download the full MathJax library from http://www.mathjax.org/. Then install it on a web server. Finally update the MathJax filter settings httpurl and/or httpsurl to point to the local MathJax.js URL.'; $string['mathjaxsettings'] = 'MathJax configuration'; $string['mathjaxsettings_desc'] = 'The default MathJax configuration should be appropriate for most users, but MathJax is highly configurable and any of the standard MathJax configuration options can be added here.'; +$string['privacy:metadata'] = 'The MathJax plugin does not store any personal data.'; diff --git a/filter/mediaplugin/classes/privacy/provider.php b/filter/mediaplugin/classes/privacy/provider.php new file mode 100644 index 00000000000..3dd71af68e3 --- /dev/null +++ b/filter/mediaplugin/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_mediaplugin. + * + * @package filter_mediaplugin + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_mediaplugin\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_mediaplugin implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/mediaplugin/lang/en/filter_mediaplugin.php b/filter/mediaplugin/lang/en/filter_mediaplugin.php index f1273b9cd9c..d60f22dddc9 100644 --- a/filter/mediaplugin/lang/en/filter_mediaplugin.php +++ b/filter/mediaplugin/lang/en/filter_mediaplugin.php @@ -30,3 +30,4 @@ $string['filtername'] = 'Multimedia plugins'; $string['linktomedia'] = 'The multimedia plugins filter finds a link in text that points to a multimedia resource and replaces the link with an appropriate multimedia player code which can play the resource. It also replaces <video> and <audio> tags with selected video and audio players. Manage media players'; +$string['privacy:metadata'] = 'The Multimedia plugins plugin does not store any personal data.'; diff --git a/filter/multilang/classes/privacy/provider.php b/filter/multilang/classes/privacy/provider.php new file mode 100644 index 00000000000..570467b9614 --- /dev/null +++ b/filter/multilang/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_multilang. + * + * @package filter_multilang + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_multilang\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_multilang implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/multilang/lang/en/filter_multilang.php b/filter/multilang/lang/en/filter_multilang.php index 866646317cf..45018e7aa0a 100644 --- a/filter/multilang/lang/en/filter_multilang.php +++ b/filter/multilang/lang/en/filter_multilang.php @@ -24,3 +24,4 @@ */ $string['filtername'] = 'Multi-Language Content'; +$string['privacy:metadata'] = 'The Multi-Language Content plugin does not store any personal data.'; diff --git a/filter/tex/classes/privacy/provider.php b/filter/tex/classes/privacy/provider.php new file mode 100644 index 00000000000..e090cd39e68 --- /dev/null +++ b/filter/tex/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_tex. + * + * @package filter_tex + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_tex\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_tex implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/tex/lang/en/filter_tex.php b/filter/tex/lang/en/filter_tex.php index ce3f8b24b25..a4fdb121e74 100644 --- a/filter/tex/lang/en/filter_tex.php +++ b/filter/tex/lang/en/filter_tex.php @@ -35,3 +35,4 @@ $string['pathlatex'] = 'Path of latex binary'; $string['pathmimetex'] = 'Path of mimetex binary'; $string['pathmimetexdesc'] = 'Moodle will use its own mimetex binary unless another valid path is specified.'; $string['source'] = 'TeX source'; +$string['privacy:metadata'] = 'The TeX notation plugin does not store any personal data.'; diff --git a/filter/tidy/classes/privacy/provider.php b/filter/tidy/classes/privacy/provider.php new file mode 100644 index 00000000000..518f25d955c --- /dev/null +++ b/filter/tidy/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_tidy. + * + * @package filter_tidy + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_tidy\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_tidy implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/tidy/lang/en/filter_tidy.php b/filter/tidy/lang/en/filter_tidy.php index 7b4ab377e93..90b6151fe82 100644 --- a/filter/tidy/lang/en/filter_tidy.php +++ b/filter/tidy/lang/en/filter_tidy.php @@ -24,3 +24,4 @@ */ $string['filtername'] = 'HTML tidy'; +$string['privacy:metadata'] = 'The HTML tidy plugin does not store any personal data.'; diff --git a/filter/urltolink/classes/privacy/provider.php b/filter/urltolink/classes/privacy/provider.php new file mode 100644 index 00000000000..bb63073803b --- /dev/null +++ b/filter/urltolink/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for filter_urltolink. + * + * @package filter_urltolink + * @copyright 2018 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace filter_urltolink\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for filter_urltolink implementing null_provider. + * + * @copyright 2018 Andrew Nicols + * @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'; + } +} diff --git a/filter/urltolink/lang/en/filter_urltolink.php b/filter/urltolink/lang/en/filter_urltolink.php index 113c9937b94..232c5d439ae 100644 --- a/filter/urltolink/lang/en/filter_urltolink.php +++ b/filter/urltolink/lang/en/filter_urltolink.php @@ -31,3 +31,4 @@ $string['embedimages_desc'] = 'Replace image urls with images in selected text f $string['filtername'] = 'Convert URLs into links and images'; $string['settingformats'] = 'Apply to formats'; $string['settingformats_desc'] = 'The filter will be applied only if the original text was inserted in one of the selected formats.'; +$string['privacy:metadata'] = 'The Convert URLs into links and images plugin does not store any personal data.';