From 1e6f81659ea2cc97e86d09a0db86ba41da05ea5e Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Thu, 15 Oct 2020 07:31:05 +0800 Subject: [PATCH] MDL-69549 mod_folder: Content export implementation --- mod/folder/classes/content/exporter.php | 61 +++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 mod/folder/classes/content/exporter.php diff --git a/mod/folder/classes/content/exporter.php b/mod/folder/classes/content/exporter.php new file mode 100644 index 0000000000000..159ad8cd8b073 --- /dev/null +++ b/mod/folder/classes/content/exporter.php @@ -0,0 +1,61 @@ +. + +/** + * Content export definition. + * + * @package mod_folder + * @copyright 2020 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace mod_folder\content; + +use core\content\export\exportable_items\exportable_filearea; +use core\content\export\exporters\abstract_mod_exporter; + +/** + * A class which assists a component to export content. + * + * @copyright 2020 Andrew Nicols + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class exporter extends abstract_mod_exporter { + + /** + * Get the exportable items for mod_folder. + * + * @param bool $includeuserdata Whether to include user data, in addition to shared content. + * @return \core\content\export\exportable_item[] + */ + public function get_exportables(bool $includeuserdata = false): array { + $contentitems = []; + + $contentitems[] = new exportable_filearea( + $this->get_context(), + $this->get_component(), + get_string('foldercontent', 'mod_folder'), + + // The files held in mod_folder are stored in the 'content' filearea, under itemid 0. + 'content', + 0, + + // The itemid is used in the URL when accessing. + 0 + ); + + return $contentitems; + } +}