File tree 20 files changed +80
-23
lines changed
log/classes/local/privacy
completion/classes/privacy
grade/grading/classes/privacy
lib/userkey/classes/privacy
plagiarism/classes/privacy
portfolio/classes/privacy
20 files changed +80
-23
lines changed Original file line number Diff line number Diff line change @@ -87,11 +87,17 @@ public function get_registry_metadata() {
87
87
$ internaldata ['deprecated ' ] = true ;
88
88
}
89
89
90
- // Check that the userlist provider is implemented.
90
+ // Check that the core_userlist_provider is implemented for all user data providers .
91
91
if ($ componentclass instanceof \core_privacy \local \request \core_user_data_provider
92
92
&& !$ componentclass instanceof \core_privacy \local \request \core_userlist_provider) {
93
93
$ internaldata ['userlistnoncompliance ' ] = true ;
94
94
}
95
+
96
+ // Check that any type of userlist_provider is implemented for all shared data providers.
97
+ if ($ componentclass instanceof \core_privacy \local \request \shared_data_provider
98
+ && !$ componentclass instanceof \core_privacy \local \request \userlist_provider) {
99
+ $ internaldata ['userlistnoncompliance ' ] = true ;
100
+ }
95
101
}
96
102
}
97
103
Original file line number Diff line number Diff line change 36
36
* @author Adrian Greeve <adriangreeve.com>
37
37
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
38
38
*/
39
- interface logstore_userlist_provider extends \core_privacy \local \request \plugin \subplugin_provider {
39
+ interface logstore_userlist_provider extends
40
+ \core_privacy \local \request \plugin \subplugin_provider,
41
+ \core_privacy \local \request \shared_userlist_provider
42
+ {
40
43
41
44
/**
42
45
* Add user IDs that contain user information for the specified context.
Original file line number Diff line number Diff line change @@ -39,7 +39,9 @@ class provider implements
39
39
\core_privacy \local \metadata \provider,
40
40
41
41
// The cache subsystem stores data on behalf of other components.
42
- \core_privacy \local \request \subsystem \plugin_provider {
42
+ \core_privacy \local \request \subsystem \plugin_provider,
43
+ \core_privacy \local \request \shared_userlist_provider
44
+ {
43
45
44
46
/**
45
47
* Returns meta data about this system.
Original file line number Diff line number Diff line change 37
37
* @copyright 2018 Adrian Greeve <[email protected] >
38
38
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
39
39
*/
40
- class provider implements \core_privacy \local \metadata \provider, \core_privacy \local \request \subsystem \plugin_provider {
40
+ class provider implements
41
+ \core_privacy \local \metadata \provider,
42
+ \core_privacy \local \request \subsystem \plugin_provider,
43
+ \core_privacy \local \request \shared_userlist_provider
44
+ {
41
45
42
46
/**
43
47
* Returns meta data about this system.
Original file line number Diff line number Diff line change 41
41
* @copyright 2018 Adrian Greeve <[email protected] >
42
42
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
43
43
*/
44
- class provider implements \core_privacy \local \metadata \provider, \core_privacy \local \request \subsystem \plugin_provider {
44
+ class provider implements
45
+ \core_privacy \local \metadata \provider,
46
+ \core_privacy \local \request \subsystem \plugin_provider,
47
+ \core_privacy \local \request \shared_userlist_provider
48
+ {
45
49
46
50
/**
47
51
* Returns meta data about this system.
Original file line number Diff line number Diff line change @@ -48,7 +48,8 @@ class provider implements
48
48
\core_privacy \local \request \subsystem \plugin_provider,
49
49
\core_privacy \local \request \core_userlist_provider,
50
50
// We store a userkey for token-based file access.
51
- \core_privacy \local \request \subsystem \provider {
51
+ \core_privacy \local \request \subsystem \provider,
52
+ \core_privacy \local \request \shared_userlist_provider {
52
53
53
54
/**
54
55
* Returns metadata.
Original file line number Diff line number Diff line change 26
26
defined ('MOODLE_INTERNAL ' ) || die ();
27
27
28
28
interface gradingform_provider_v2 extends
29
- \core_privacy \local \request \plugin \subsystem_provider {
29
+ \core_privacy \local \request \plugin \subsystem_provider,
30
+ \core_privacy \local \request \shared_userlist_provider
31
+ {
30
32
31
33
/**
32
34
* Export user data relating to an instance ID.
Original file line number Diff line number Diff line change @@ -51,7 +51,9 @@ class provider implements
51
51
\core_privacy \local \request \subsystem \plugin_provider,
52
52
53
53
// This plugin is capable of determining which users have data within it.
54
- \core_privacy \local \request \core_userlist_provider {
54
+ \core_privacy \local \request \core_userlist_provider,
55
+ \core_privacy \local \request \shared_userlist_provider
56
+ {
55
57
56
58
/**
57
59
* Returns meta data about this system.
Original file line number Diff line number Diff line change 39
39
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
40
40
*/
41
41
class provider implements
42
- \core_privacy \local \metadata \provider,
42
+ \core_privacy \local \metadata \provider,
43
43
44
- \core_privacy \local \request \subsystem \plugin_provider {
44
+ \core_privacy \local \request \subsystem \plugin_provider,
45
+ \core_privacy \local \request \shared_userlist_provider
46
+ {
45
47
46
48
/**
47
49
* Returns meta data about this system.
Original file line number Diff line number Diff line change 28
28
29
29
defined ('MOODLE_INTERNAL ' ) || die ();
30
30
31
- interface assignfeedback_user_provider extends \core_privacy \local \request \plugin \subplugin_provider {
31
+ interface assignfeedback_user_provider extends
32
+ \core_privacy \local \request \plugin \subplugin_provider,
33
+ \core_privacy \local \request \shared_userlist_provider
34
+ {
32
35
33
36
/**
34
37
* If you have tables that contain userids and you can generate entries in your tables without creating an
@@ -49,4 +52,4 @@ public static function get_userids_from_context(\core_privacy\local\request\user
49
52
*/
50
53
public static function delete_feedback_for_grades (assign_plugin_request_data $ deletedata );
51
54
52
- }
55
+ }
Original file line number Diff line number Diff line change 30
30
31
31
defined ('MOODLE_INTERNAL ' ) || die ();
32
32
33
- interface assignsubmission_user_provider extends \core_privacy \local \request \plugin \subplugin_provider {
33
+ interface assignsubmission_user_provider extends
34
+ \core_privacy \local \request \plugin \subplugin_provider,
35
+ \core_privacy \local \request \shared_userlist_provider
36
+ {
34
37
35
38
/**
36
39
* If you have tables that contain userids and you can generate entries in your tables without creating an
@@ -51,4 +54,4 @@ public static function get_userids_from_context(userlist $userlist);
51
54
*/
52
55
public static function delete_submissions (assign_plugin_request_data $ deletedata );
53
56
54
- }
57
+ }
Original file line number Diff line number Diff line change 33
33
* @copyright 2018 Marina Glancy
34
34
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
35
35
*/
36
- interface datafield_provider extends \core_privacy \local \request \plugin \subplugin_provider {
36
+ interface datafield_provider extends
37
+ \core_privacy \local \request \plugin \subplugin_provider,
38
+
39
+ // The data subplugins do not need to do anything themselves for the shared_userlist.
40
+ // This is all handled by the parent plugin.
41
+ \core_privacy \local \request \shared_userlist_provider
42
+ {
37
43
38
44
/**
39
45
* Exports data about one record in {data_content} table.
Original file line number Diff line number Diff line change 33
33
* @copyright 2018 David Mudrák <[email protected] >
34
34
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
35
35
*/
36
- interface workshopform_provider extends \core_privacy \local \request \plugin \subplugin_provider {
36
+ interface workshopform_provider extends
37
+ \core_privacy \local \request \plugin \subplugin_provider,
38
+ \core_privacy \local \request \shared_userlist_provider
39
+ {
37
40
38
41
/**
39
42
* Return details of the filled assessment form.
Original file line number Diff line number Diff line change 34
34
*/
35
35
interface plagiarism_user_provider extends
36
36
// The plagiarism_provider should be implemented by plugins which only provide information to a subsystem.
37
- \core_privacy \local \request \plugin \subsystem_provider {
37
+ \core_privacy \local \request \plugin \subsystem_provider,
38
+ \core_privacy \local \request \shared_userlist_provider {
38
39
39
40
/**
40
41
* Delete all user information for the provided users and context.
Original file line number Diff line number Diff line change @@ -40,7 +40,9 @@ class provider implements
40
40
\core_privacy \local \metadata \provider,
41
41
42
42
// The Plagiarism subsystem will be called by other components and will forward requests to each plagiarism plugin implementing its APIs.
43
- \core_privacy \local \request \subsystem \plugin_provider {
43
+ \core_privacy \local \request \subsystem \plugin_provider,
44
+ \core_privacy \local \request \shared_userlist_provider
45
+ {
44
46
45
47
/**
46
48
* Returns meta data about this system.
Original file line number Diff line number Diff line change 34
34
*/
35
35
interface portfolio_provider extends
36
36
// The portfolio_provider should be implemented by plugins which only provide information to a subsystem.
37
- \core_privacy \local \request \plugin \subsystem_provider {
37
+ \core_privacy \local \request \plugin \subsystem_provider,
38
+
39
+ // The implementation for prtfolios is handled in the subsystem itself.
40
+ \core_privacy \local \request \shared_userlist_provider {
38
41
39
42
/**
40
43
* Export all portfolio data from each portfolio plugin for the specified userid and context.
Original file line number Diff line number Diff line change @@ -45,7 +45,9 @@ class provider implements
45
45
\core_privacy \local \request \plugin \provider,
46
46
\core_privacy \local \request \core_userlist_provider,
47
47
// The portfolio subsystem will be called by other components.
48
- \core_privacy \local \request \subsystem \plugin_provider {
48
+ \core_privacy \local \request \subsystem \plugin_provider,
49
+
50
+ \core_privacy \local \request \shared_userlist_provider {
49
51
50
52
/**
51
53
* Returns meta data about this system.
Original file line number Diff line number Diff line change @@ -61,7 +61,10 @@ class provider implements
61
61
\core_privacy \local \request \subsystem \plugin_provider,
62
62
63
63
// This plugin is capable of determining which users have data within it.
64
- \core_privacy \local \request \core_userlist_provider
64
+ \core_privacy \local \request \core_userlist_provider,
65
+
66
+ // This plugin is capable of determining which users have data within it for the plugins it provides data to.
67
+ \core_privacy \local \request \shared_userlist_provider
65
68
{
66
69
67
70
/**
Original file line number Diff line number Diff line change @@ -46,7 +46,9 @@ class provider implements
46
46
// as a result.
47
47
48
48
// The ratings subsystem provides a data service to other components.
49
- \core_privacy \local \request \subsystem \plugin_provider {
49
+ \core_privacy \local \request \subsystem \plugin_provider,
50
+ \core_privacy \local \request \shared_userlist_provider
51
+ {
50
52
51
53
/**
52
54
* Returns metadata about the ratings subsystem.
Original file line number Diff line number Diff line change @@ -51,7 +51,10 @@ class provider implements
51
51
\core_privacy \local \request \core_userlist_provider,
52
52
53
53
// The tag subsystem may have data that belongs to this user.
54
- \core_privacy \local \request \plugin \provider {
54
+ \core_privacy \local \request \plugin \provider,
55
+
56
+ \core_privacy \local \request \shared_userlist_provider
57
+ {
55
58
56
59
/**
57
60
* Returns meta data about this system.
You can’t perform that action at this time.
0 commit comments