Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
Static Public Member Functions | Static Protected Member Functions | List of all members
mod_data\privacy\provider Class Reference

Implementation of the privacy subsystem plugin provider for the database activity module. More...

Inheritance diagram for mod_data\privacy\provider:
core_privacy\local\metadata\provider core_privacy\local\request\core_userlist_provider core_privacy\local\request\plugin\provider core_privacy\local\request\userlist_provider core_privacy\local\request\core_user_data_provider core_privacy\local\request\core_data_provider core_privacy\local\request\data_provider

Static Public Member Functions

static delete_data_for_all_users_in_context (\context $context)
 Delete all data for all users in the specified context. More...
 
static delete_data_for_user (approved_contextlist $contextlist)
 Delete all user data for the specified user, in the specified contexts. More...
 
static delete_data_for_users (approved_userlist $userlist)
 Delete multiple users within a single context. More...
 
static export_user_data (approved_contextlist $contextlist)
 Export personal data for the given approved_contextlist. More...
 
static get_contexts_for_userid (int $userid)
 Get the list of contexts that contain user information for the specified user. More...
 
static get_metadata (collection $collection)
 Return the fields which contain personal data. More...
 
static get_users_in_context (userlist $userlist)
 Get the list of users who have data within a context. More...
 

Static Protected Member Functions

static delete_data_records ($context, $recordstobedeleted)
 Deletes records marked for deletion and all associated data. More...
 
static export_data ($context, $user)
 Export basic info about database activity module. More...
 
static export_data_content ($context, $recordobj, $fieldobj, $contentobj)
 Export one field answer in a record in database activity module. More...
 
static export_data_record ($context, $user, $recordobj)
 Export one entry in the database activity module (one record in {data_records} table) More...
 
static extract_object_from_record ($record, $prefix, $additionalfields=[])
 Creates an object from all fields in the $record where key starts with $prefix. More...
 
static mark_data_content_for_deletion ($context, $row)
 Marks a data_record/data_content for deletion. More...
 
static sql_fields ()
 SQL query that returns all fields from {data_content}, {data_fields} and {data_records} tables. More...
 

Detailed Description

Implementation of the privacy subsystem plugin provider for the database activity module.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ delete_data_for_all_users_in_context()

static mod_data\privacy\provider::delete_data_for_all_users_in_context ( \context  $context)
static

Delete all data for all users in the specified context.

Parameters
context$contextthe context to delete in.

Implements core_privacy\local\request\core_user_data_provider.

◆ delete_data_for_user()

static mod_data\privacy\provider::delete_data_for_user ( approved_contextlist  $contextlist)
static

Delete all user data for the specified user, in the specified contexts.

Parameters
approved_contextlist$contextlista list of contexts approved for deletion.

Implements core_privacy\local\request\core_user_data_provider.

◆ delete_data_for_users()

static mod_data\privacy\provider::delete_data_for_users ( approved_userlist  $userlist)
static

Delete multiple users within a single context.

Parameters
approved_userlist$userlistThe approved context and user information to delete information for.

Implements core_privacy\local\request\core_userlist_provider.

◆ delete_data_records()

static mod_data\privacy\provider::delete_data_records (   $context,
  $recordstobedeleted 
)
staticprotected

Deletes records marked for deletion and all associated data.

Should be executed after all records were marked by mark_data_content_for_deletion()

Deletes records from data_content and data_records tables, associated files, tags, comments and ratings.

Parameters
context$context
array$recordstobedeletedlist of ids of the data records that need to be deleted

◆ export_data()

static mod_data\privacy\provider::export_data (   $context,
  $user 
)
staticprotected

Export basic info about database activity module.

Parameters
context$context
stdClass$user

◆ export_data_content()

static mod_data\privacy\provider::export_data_content (   $context,
  $recordobj,
  $fieldobj,
  $contentobj 
)
staticprotected

Export one field answer in a record in database activity module.

Parameters
context$context
stdClass$recordobjrecord from DB table {data_records}
stdClass$fieldobjrecord from DB table {data_fields}
stdClass$contentobjrecord from DB table {data_content}

◆ export_data_record()

static mod_data\privacy\provider::export_data_record (   $context,
  $user,
  $recordobj 
)
staticprotected

Export one entry in the database activity module (one record in {data_records} table)

Parameters
context$context
stdClass$user
stdClass$recordobj

◆ export_user_data()

static mod_data\privacy\provider::export_user_data ( approved_contextlist  $contextlist)
static

Export personal data for the given approved_contextlist.

User and context information is contained within the contextlist.

Parameters
approved_contextlist$contextlista list of contexts approved for export.

Implements core_privacy\local\request\core_user_data_provider.

◆ extract_object_from_record()

static mod_data\privacy\provider::extract_object_from_record (   $record,
  $prefix,
  $additionalfields = [] 
)
staticprotected

Creates an object from all fields in the $record where key starts with $prefix.

Parameters
stdClass$record
string$prefix
array$additionalfields
Return values
stdClass

◆ get_contexts_for_userid()

static mod_data\privacy\provider::get_contexts_for_userid ( int  $userid)
static

Get the list of contexts that contain user information for the specified user.

Parameters
int$useridthe userid.
Return values
contextlistthe list of contexts containing user info for the user.

Implements core_privacy\local\request\core_user_data_provider.

◆ get_metadata()

static mod_data\privacy\provider::get_metadata ( collection  $collection)
static

Return the fields which contain personal data.

Parameters
collection$collectiona reference to the collection to use to store the metadata.
Return values
collectionthe updated collection of metadata items.

Implements core_privacy\local\metadata\provider.

◆ get_users_in_context()

static mod_data\privacy\provider::get_users_in_context ( userlist  $userlist)
static

Get the list of users who have data within a context.

Parameters
userlist$userlistThe userlist containing the list of users who have data in this context/plugin combination.

Implements core_privacy\local\request\core_userlist_provider.

◆ mark_data_content_for_deletion()

static mod_data\privacy\provider::mark_data_content_for_deletion (   $context,
  $row 
)
staticprotected

Marks a data_record/data_content for deletion.

Also invokes callback from datafield plugin in case it stores additional data that needs to be deleted

Parameters
context$context
stdClass$rowresult of SQL query - tables data_content, data_record, data_fields join together

◆ sql_fields()

static mod_data\privacy\provider::sql_fields ( )
staticprotected

SQL query that returns all fields from {data_content}, {data_fields} and {data_records} tables.

Return values
string

The documentation for this class was generated from the following file: