From e61a41b425b9528241856213b04e8f99dae7634f Mon Sep 17 00:00:00 2001 From: Shamim Rezaie Date: Fri, 16 Aug 2019 18:48:45 +1000 Subject: [PATCH] MDL-66269 mod_forum: added filters to the export form Part of MDL-66075. --- mod/forum/classes/form/export_form.php | 20 ++++++++++++++++++++ mod/forum/lang/en/forum.php | 2 ++ 2 files changed, 22 insertions(+) diff --git a/mod/forum/classes/form/export_form.php b/mod/forum/classes/form/export_form.php index 78d8927284623..905e5e63e39a0 100644 --- a/mod/forum/classes/form/export_form.php +++ b/mod/forum/classes/form/export_form.php @@ -49,6 +49,26 @@ public function definition() { $mform->setType('id', PARAM_INT); $mform->setDefault('id', $forum->get_id()); + $options = [ + 'ajax' => 'mod_forum/form-user-selector', + 'multiple' => true, + 'noselectionstring' => get_string('allusers', 'mod_forum'), + 'courseid' => $forum->get_course_id(), + ]; + $mform->addElement('autocomplete', 'userids', get_string('users'), [], $options); + + // Get the discussions on this forum. + $vaultfactory = \mod_forum\local\container::get_vault_factory(); + $discussionvault = $vaultfactory->get_discussion_vault(); + $discussions = array_map(function($discussion) { + return $discussion->get_name(); + }, $discussionvault->get_all_discussions_in_forum($forum)); + $options = [ + 'multiple' => true, + 'noselectionstring' => get_string('alldiscussions', 'mod_forum'), + ]; + $mform->addElement('autocomplete', 'discussionids', get_string('discussions', 'mod_forum'), $discussions, $options); + // Export formats. $formats = \core_plugin_manager::instance()->get_plugins_of_type('dataformat'); $options = []; diff --git a/mod/forum/lang/en/forum.php b/mod/forum/lang/en/forum.php index 6f2a498793b0d..de24e0ef33b1e 100644 --- a/mod/forum/lang/en/forum.php +++ b/mod/forum/lang/en/forum.php @@ -29,12 +29,14 @@ $string['addanewtopic'] = 'Add a new topic'; $string['addtofavourites'] = 'Star this discussion'; $string['advancedsearch'] = 'Advanced search'; +$string['alldiscussions'] = 'All discussions'; $string['allforums'] = 'All forums'; $string['allowdiscussions'] = 'Can a {$a} post to this forum?'; $string['allowsallsubscribe'] = 'This forum allows everyone to choose whether to subscribe or not'; $string['allowsdiscussions'] = 'This forum allows each person to start one discussion topic.'; $string['allsubscribe'] = 'Subscribe to all forums'; $string['allunsubscribe'] = 'Unsubscribe from all forums'; +$string['allusers'] = 'All users'; $string['alreadyfirstpost'] = 'This is already the first post in the discussion'; $string['anyfile'] = 'Any file'; $string['areaattachment'] = 'Attachments';