MDL-63924 privacy: Add shared user providers to subsytsems

This commit is contained in:
Andrew Nicols 2018-11-08 15:32:39 +08:00
parent a14a44ee13
commit a07e8d7023
20 changed files with 80 additions and 23 deletions

View file

@ -87,11 +87,17 @@ class metadata_registry {
$internaldata['deprecated'] = true;
}
// Check that the userlist provider is implemented.
// Check that the core_userlist_provider is implemented for all user data providers.
if ($componentclass instanceof \core_privacy\local\request\core_user_data_provider
&& !$componentclass instanceof \core_privacy\local\request\core_userlist_provider) {
$internaldata['userlistnoncompliance'] = true;
}
// Check that any type of userlist_provider is implemented for all shared data providers.
if ($componentclass instanceof \core_privacy\local\request\shared_data_provider
&& !$componentclass instanceof \core_privacy\local\request\userlist_provider) {
$internaldata['userlistnoncompliance'] = true;
}
}
}

View file

@ -36,7 +36,10 @@ defined('MOODLE_INTERNAL') || die();
* @author Adrian Greeve <adriangreeve.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
interface logstore_userlist_provider extends \core_privacy\local\request\plugin\subplugin_provider {
interface logstore_userlist_provider extends
\core_privacy\local\request\plugin\subplugin_provider,
\core_privacy\local\request\shared_userlist_provider
{
/**
* Add user IDs that contain user information for the specified context.