Merge branch 'MDL-62249-master' of git://github.com/zig-moodle/moodle
authorDavid Monllao <davidm@moodle.com>
Wed, 9 May 2018 12:23:10 +0000 (14:23 +0200)
committerJun Pataleta <jun@moodle.com>
Thu, 10 May 2018 01:17:27 +0000 (09:17 +0800)
blocks/tag_flickr/classes/privacy/provider.php
blocks/tag_flickr/lang/en/block_tag_flickr.php

index 08ac391..fb3673d 100644 (file)
 
 namespace block_tag_flickr\privacy;
 
+use core_privacy\local\metadata\collection;
+use core_privacy\local\request\approved_contextlist;
+use core_privacy\local\request\context;
+use core_privacy\local\request\contextlist;
+
 defined('MOODLE_INTERNAL') || die();
 
 /**
- * Privacy Subsystem for block_tag_flickr implementing null_provider.
+ * Privacy Subsystem for block_tag_flickr implementing metadata and plugin provider.
  *
  * @copyright  2018 Zig Tan <zig@moodle.com>
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
-class provider implements \core_privacy\local\metadata\null_provider {
+class provider implements \core_privacy\local\metadata\provider, \core_privacy\local\request\plugin\provider {
+
+    /**
+     * Returns meta data about this system.
+     *
+     * @param   collection $collection The initialised collection to add items to.
+     * @return  collection     A listing of user data stored through this system.
+     */
+    public static function get_metadata(collection $collection) : collection {
+        $collection->add_external_location_link(
+            'flickr.com',
+            [
+                'tags' => 'privacy:metadata:block_tag_flickr:tags'
+            ],
+            'privacy:metadata:block_tag_flickr'
+        );
+
+        return $collection;
+    }
+
+    /**
+     * Get the list of contexts that contain user information for the specified user.
+     *
+     * @param   int $userid The user to search.
+     * @return  contextlist   $contextlist  The contextlist containing the list of contexts used in this plugin.
+     */
+    public static function get_contexts_for_userid(int $userid) : contextlist {
+        return new contextlist();
+    }
 
     /**
-     * Get the language string identifier with the component's language
-     * file to explain why this plugin stores no data.
+     * Export all user data for the specified user, in the specified contexts.
      *
-     * @return  string
+     * @param   approved_contextlist $contextlist The approved contexts to export information for.
      */
-    public static function get_reason() : string {
-        return 'privacy:metadata';
+    public static function export_user_data(approved_contextlist $contextlist) {
     }
+
+    /**
+     * Delete all data for all users in the specified context.
+     *
+     * @param   context $context The specific context to delete data for.
+     */
+    public static function delete_data_for_all_users_in_context(\context $context) {
+    }
+
+    /**
+     * 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.
+     */
+    public static function delete_data_for_user(approved_contextlist $contextlist) {
+    }
+
 }
index 660cd4a..637d015 100644 (file)
@@ -37,4 +37,5 @@ $string['pluginname'] = 'Flickr';
 $string['relevance'] = 'Relevance';
 $string['sortby'] = 'Sort by';
 $string['tag_flickr:addinstance'] = 'Add a new flickr block';
-$string['privacy:metadata'] = 'The Flickr block only shows data stored in other locations.';
+$string['privacy:metadata:block_tag_flickr'] = 'The Flickr block plugin does not store any personal data, but does transmit user data from Moodle to the remote system.';
+$string['privacy:metadata:block_tag_flickr:tags'] = 'The tag values sent as CSV format to search for Flickr images.';