suppressed_emails = $suppressed_emails_model; } protected function get_nonce_name() { return self::ACTION_NAME; } public function handle() { if ( ! $this->validate() ) { wp_send_json_error( 'Missing required parameters.', 400 ); } $emails = FILTER_INPUT( INPUT_POST, self::PARAM_EMAILS, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); $note = FILTER_INPUT( INPUT_POST, self::PARAM_NOTE, FILTER_DEFAULT ); // Sanitize $note = ! empty( $note ) ? htmlspecialchars( $note ) : ''; $valid_emails = array(); foreach( $emails as $email ) { if ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) { continue; } $valid_emails[] = $email; } foreach( $valid_emails as $email ) { $this->suppressed_emails->suppress_email( $email, 'manually_added', $note ); } wp_send_json_success( $emails ); } }