diff --git a/src/transformer/events/mod_forum/post_updated.php b/src/transformer/events/mod_forum/post_updated.php new file mode 100644 index 000000000..f34efeffe --- /dev/null +++ b/src/transformer/events/mod_forum/post_updated.php @@ -0,0 +1,72 @@ +. + +/** + * Transform for the forum post created event. + * + * @package logstore_xapi + * @copyright Jerret Fowler + * Ryan Smith + * David Pesce + * Cliff Casey + * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace src\transformer\events\mod_forum; + +use src\transformer\utils as utils; + +/** + * Transformer for forum post created event. + * + * @param array $config The transformer config settings. + * @param \stdClass $event The event to be transformed. + * @return array + */ +function post_updated(array $config, \stdClass $event) { + $repo = $config['repo']; + $user = $repo->read_record_by_id('user', $event->userid); + $course = $repo->read_record_by_id('course', $event->courseid); + $post = $repo->read_record_by_id('forum_posts', $event->objectid); + $other = unserialize($event->other); + $discussionid = $other['discussionid']; + $discussion = $repo->read_record_by_id('forum_discussions', $discussionid); + + $lang = utils\get_course_lang($course); + return[[ + 'actor' => utils\get_user($config, $user), + 'verb' => [ + 'id' => 'https://w3id.org/xapi/acrossx/verbs/edited', + 'display' => [ + $lang => 'Edited' + ], + ], + 'object' => utils\get_activity\forum_discussion_post_reply($config, $course, $post), + 'context' => [ + 'language' => $lang, + 'extensions' => utils\extensions\base($config, $event, $course), + 'contextActivities' => [ + 'parent' => array_merge( + [utils\get_activity\course_discussion($config, $course, $discussion)], + utils\context_activities\get_parent($config, $event->contextinstanceid, true) + ), + 'category' => [ + utils\get_activity\site($config), + ], + ], + ] + ]]; +} diff --git a/src/transformer/get_event_function_map.php b/src/transformer/get_event_function_map.php index e190963f3..707a5df5b 100644 --- a/src/transformer/get_event_function_map.php +++ b/src/transformer/get_event_function_map.php @@ -89,6 +89,7 @@ function get_event_function_map() { '\mod_forum\event\post_created' => 'mod_forum\post_created', '\mod_forum\event\post_deleted' => 'mod_forum\post_deleted', + '\mod_forum\event\post_updated' => 'mod_forum\post_updated', '\mod_forum\event\user_report_viewed' => 'mod_forum\user_report_viewed', '\mod_glossary\event\course_module_viewed' => 'all\course_module_viewed',