Merge branch 'MDL-62448-master' of git://github.com/sarjona/moodle

This commit is contained in:
Eloy Lafuente (stronk7) 2018-05-15 17:29:06 +02:00
commit cd0f1aa403
2 changed files with 15 additions and 7 deletions

View File

@ -87,16 +87,21 @@ class provider implements \core_privacy\local\metadata\provider, \core_privacy\l
* @param approved_contextlist $contextlist The approved contexts to export information for.
*/
public static function export_user_data(approved_contextlist $contextlist) {
$rssdata = [];
$results = static::get_records($contextlist->get_user()->id);
foreach ($results as $result) {
$data = (object) [
$rssdata[] = (object) [
'title' => $result->title,
'preferredtitle' => $result->preferredtitle,
'description' => $result->description,
'shared' => \core_privacy\local\request\transform::yesno($result->shared),
'url' => $result->url
];
}
if (!empty($rssdata)) {
$data = (object) [
'feeds' => $rssdata,
];
\core_privacy\local\request\writer::with_context($contextlist->current())->export_data([
get_string('pluginname', 'block_rss_client')], $data);
}

View File

@ -63,6 +63,7 @@ class block_rss_client_testcase extends provider_testcase {
$user = $this->getDataGenerator()->create_user();
$context = context_user::instance($user->id);
$this->add_rss_feed($user);
$this->add_rss_feed($user);
$writer = \core_privacy\local\request\writer::with_context($context);
@ -70,11 +71,13 @@ class block_rss_client_testcase extends provider_testcase {
$this->export_context_data_for_user($user->id, $context, 'block_rss_client');
$data = $writer->get_data([get_string('pluginname', 'block_rss_client')]);
$this->assertEquals('BBC News - World', $data->title);
$this->assertEquals('World News', $data->preferredtitle);
$this->assertEquals('Description: BBC News - World', $data->description);
$this->assertEquals(get_string('no'), $data->shared);
$this->assertEquals('http://feeds.bbci.co.uk/news/world/rss.xml?edition=uk', $data->url);
$this->assertCount(2, $data->feeds);
$feed1 = reset($data->feeds);
$this->assertEquals('BBC News - World', $feed1->title);
$this->assertEquals('World News', $feed1->preferredtitle);
$this->assertEquals('Description: BBC News - World', $feed1->description);
$this->assertEquals(get_string('no'), $feed1->shared);
$this->assertEquals('http://feeds.bbci.co.uk/news/world/rss.xml?edition=uk', $feed1->url);
}
/**