芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/www/cepali/blocks/comments/classes/privacy/provider.php
. /** * Privacy Subsystem implementation for block_comments. * * @package block_comments * @category privacy * @copyright 2018 Shamim Rezaie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace block_comments\privacy; defined('MOODLE_INTERNAL') || die(); use core_privacy\local\metadata\collection; use core_privacy\local\request\approved_contextlist; use core_privacy\local\request\contextlist; use core_privacy\local\request\userlist; use core_privacy\local\request\approved_userlist; /** * Privacy Subsystem implementation for block_comments. * * @copyright 2018 Shamim Rezaie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class provider implements // The block_comments block stores user provided data. \core_privacy\local\metadata\provider, \core_privacy\local\request\core_userlist_provider, // The block_comments block provides data directly to core. \core_privacy\local\request\plugin\provider { /** * Returns meta data about this system. * * @param collection $collection * @return collection */ public static function get_metadata(collection $collection) : collection { return $collection->add_subsystem_link('core_comment', [], 'privacy:metadata:core_comment'); } /** * Get the list of contexts that contain user information for the specified user. * * @param int $userid * @return contextlist */ public static function get_contexts_for_userid(int $userid) : contextlist { $contextlist = new contextlist(); $sql = "SELECT contextid FROM {comments} WHERE component = :component AND userid = :userid"; $params = [ 'component' => 'block_comments', 'userid' => $userid ]; $contextlist->add_from_sql($sql, $params); return $contextlist; } /** * Get the list of users within a specific context. * * @param userlist $userlist The userlist containing the list of users who have data in this context/plugin combination. */ public static function get_users_in_context(userlist $userlist) { $context = $userlist->get_context(); $params = [ 'contextid' => $context->id, 'component' => 'block_comments', ]; $sql = "SELECT userid as userid FROM {comments} WHERE component = :component AND contextid = :contextid"; $userlist->add_from_sql('userid', $sql, $params); } /** * Export all user data for the specified user, in the specified contexts. * * @param approved_contextlist $contextlist */ public static function export_user_data(approved_contextlist $contextlist) { $contexts = $contextlist->get_contexts(); foreach ($contexts as $context) { \core_comment\privacy\provider::export_comments( $context, 'block_comments', 'page_comments', 0, [] ); } } /** * Delete all data for all users in the specified context. * * @param \context $context */ public static function delete_data_for_all_users_in_context(\context $context) { \core_comment\privacy\provider::delete_comments_for_all_users($context, 'block_comments'); } /** * Delete multiple users within a single context. * * @param approved_userlist $userlist The approved context and user information to delete information for. */ public static function delete_data_for_users(approved_userlist $userlist) { \core_comment\privacy\provider::delete_comments_for_users($userlist, 'block_comments'); } /** * Delete all user data for the specified user, in the specified contexts. * * @param approved_contextlist $contextlist */ public static function delete_data_for_user(approved_contextlist $contextlist) { \core_comment\privacy\provider::delete_comments_for_user($contextlist, 'block_comments'); } }