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.

Data provider.

Author: Frédéric Massart <fred@branchup.tech>
Copyright: 2018 Frédéric Massart
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 488 lines (19 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class


Class: provider  - X-Ref

Data provider class.

get_metadata(collection $collection)   X-Ref
Returns metadata.

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.

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.

extract_item_record_from_record(stdClass $record)   X-Ref
Extract an item record from a database record.

return: The item record.
param: stdClass $record The record.

extract_value_record_from_record(stdClass $record)   X-Ref
Extract a value record from a database record.

return: The value record.
param: stdClass $record The record.

prepare_export_query(array $contextids, $userid)   X-Ref
Prepare the query to export all data.

Doing it this way allows for merging all records from both the temporary and final tables
as most of their columns are shared. It is a lot easier to deal with the records when
exporting as we do not need to try to manually group the two types of submissions in the
same reported dataset.

The ordering may affect performance on large datasets.

return: array With SQL and params.
param: array $contextids The context IDs.
param: int $userid The user ID.