events = $events; } protected function get_nonce_name() { return self::ACTION_NAME; } public function handle() { if ( ! $this->validate() ) { wp_send_json_error( __( 'Missing required parameters.', 'gravitysmtp' ), 400 ); } $delete_all_events = filter_input( INPUT_POST, self::PARAM_ALL_EVENTS ); $delete_all_events = htmlspecialchars( $delete_all_events ); $max_date = filter_input( INPUT_POST, self::PARAM_MAX_DATE ); if ( ! empty( $max_date ) ) { $max_date = htmlspecialchars( $max_date ); } if ( ! empty( $max_date ) && $delete_all_events == '1' ) { $this->events->delete_before( $max_date ); wp_send_json_success( array( 'message' => __( 'Events deleted successfully', 'gravitysmtp' ) ), 200 ); } if ( $delete_all_events == '1' ) { $this->events->delete_all(); wp_send_json_success( array( 'message' => __( 'All events deleted successfully', 'gravitysmtp' ) ), 200 ); } $event_ids = filter_input( INPUT_POST, self::PARAM_EVENT_IDS, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); foreach( $event_ids as $id ) { $id_to_delete = filter_var( $id, FILTER_SANITIZE_NUMBER_INT ); $this->events->delete( $id_to_delete ); } wp_send_json_success( array( 'message' => $event_ids ), 200 ); } }