diff --git a/includes/admin/class-sensei-learners-admin-bulk-actions-controller.php b/includes/admin/class-sensei-learners-admin-bulk-actions-controller.php index 6f3f2965a8..547e5b2f6f 100644 --- a/includes/admin/class-sensei-learners-admin-bulk-actions-controller.php +++ b/includes/admin/class-sensei-learners-admin-bulk-actions-controller.php @@ -240,6 +240,36 @@ public function handle_http_post() { } } + // Log bulk actions events. + $filter_value = ! empty( $_POST['sensei_learners_bulk_action_filter'] ) ? sanitize_text_field( wp_unslash( $_POST['sensei_learners_bulk_action_filter'] ) ) : '-1'; // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce already checked. + + $event_properties = array( + 'course_id' => $filter_value, + 'course_count' => count( $course_ids ), + 'learner_count' => count( $user_ids ), + ); + + switch ( $sensei_bulk_action ) { + case self::MANUALLY_ENROL: + $this->learner_management_bulk_actions_logger( 'learner_management_learner_bulk_add', $event_properties ); + break; + case self::REMOVE_MANUAL_ENROLMENT: + $this->learner_management_bulk_actions_logger( 'learner_management_learner_bulk_remove', $event_properties ); + break; + case self::REMOVE_PROGRESS: + $this->learner_management_bulk_actions_logger( 'learner_management_progress_bulk_reset', $event_properties ); + break; + case self::COMPLETE_COURSE: + $this->learner_management_bulk_actions_logger( 'learner_management_course_completion_bulk_recalculate_notify', $event_properties ); + break; + case self::RECALCULATE_COURSE_COMPLETION: + $this->learner_management_bulk_actions_logger( 'learner_management_course_completion_bulk_recalculate_no_notify', $event_properties ); + break; + default: + break; + } + // End logging. + $this->redirect_to_learner_admin_index( 'action-success' ); } @@ -420,4 +450,15 @@ public function add_notices() { +