Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.

Differences Between: [Versions 39 and 400] [Versions 400 and 402] [Versions 400 and 403]

Privacy class for requesting user data.

Copyright: 2018 Adrian Greeve <adrian@moodle.com>
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 285 lines (13 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class


Class: provider  - X-Ref

Privacy class for requesting user data.

get_metadata(collection $collection)   X-Ref
Returns meta data about this system.

return: collection A listing of user data stored through this system.
param: collection $collection The initialised collection to add items to.

get_contexts_for_userid(int $userid)   X-Ref
Get the list of contexts that contain user information for the specified user.

return: contextlist $contextlist The contextlist containing the list of contexts used in this plugin.
param: int $userid The user to search.

get_users_in_context(userlist $userlist)   X-Ref
Get the list of users who have data within a context.

param: userlist    $userlist   The userlist containing the list of users who have data in this context/plugin combination.

export_user_data(approved_contextlist $contextlist)   X-Ref
Export all user data for the specified user, in the specified contexts.

param: approved_contextlist $contextlist The approved contexts to export information for.

export_context_data(\core_privacy\local\request\contextlist_collection $contextlistcollection)   X-Ref
Give the component a chance to include any contextual information deemed relevant to any child contexts which are
exporting personal data.

By giving the component access to the full list of contexts being exported across all components, it can determine whether a
descendant context is being exported, and decide whether to add relevant contextual information about itself. Having access
to the full list of contexts being exported is what makes this component a context aware provider.

E.g.
If, during the core export process, a course module is included in the contextlist_collection but the course containing the
module is not (perhaps there's no longer a user enrolment), then the course should include general contextual information in
the export so we know basic details about which course the module belongs to. This method allows the course to make that
decision, based on the existence of any decendant module contexts in the collection.

param: \core_privacy\local\request\contextlist_collection $contextlistcollection

export_user_preferences(int $userid)   X-Ref
Export all user preferences for the plugin.

param: int $userid The userid of the user whose data is to be exported.

delete_data_for_all_users_in_context(\context $context)   X-Ref
Delete all data for all users in the specified context.

param: context $context The specific context to delete data for.

delete_data_for_user(approved_contextlist $contextlist)   X-Ref
Delete all user data for the specified user, in the specified contexts.

param: approved_contextlist $contextlist The approved contexts and user information to delete information for.

delete_data_for_users(approved_userlist $userlist)   X-Ref
Delete multiple users within a single context.

param: approved_userlist       $userlist The approved context and user information to delete information for.