MDL-61407 privacy: Track changes in any context

This commit is contained in:
Andrew Nicols
2018-05-02 19:13:30 +08:00
parent 446d8483a3
commit 04507546ec
@@ -73,6 +73,8 @@ class content_writer implements \core_privacy\local\request\content_writer {
/**
* Whether any data has been exported at all within the current context.
*
* @return bool
*/
public function has_any_data() {
$hasdata = !empty($this->data->{$this->context->id});
@@ -96,6 +98,32 @@ class content_writer implements \core_privacy\local\request\content_writer {
return $hasanydata;
}
/**
* Whether any data has been exported for any context.
*
* @return bool
*/
public function has_any_data_in_any_context() {
$checkfordata = function($location) {
foreach ($location as $context => $data) {
if (!empty($data)) {
return true;
}
}
return false;
};
$hasanydata = $checkfordata($this->data);
$hasanydata = $hasanydata || $checkfordata($this->relateddata);
$hasanydata = $hasanydata || $checkfordata($this->metadata);
$hasanydata = $hasanydata || $checkfordata($this->files);
$hasanydata = $hasanydata || $checkfordata($this->customfiles);
$hasanydata = $hasanydata || $checkfordata($this->userprefs);
return $hasanydata;
}
/**
* Constructor for the content writer.
*