logger = $logger; } protected function get_nonce_name() { return self::ACTION_NAME; } public function handle() { if ( ! $this->validate() ) { wp_send_json_error( __( 'Missing required parameters.', 'gravitysmtp' ), 400 ); } $message = filter_input( INPUT_POST, self::PARAM_LOG_MESSAGE ); $priority = filter_input( INPUT_POST, self::PARAM_PRIORITY ); if ( ! empty( $message ) ) { $message = htmlspecialchars( $message ); } $this->logger->log( $message, $priority ); wp_send_json_success( array( 'message' => __( 'Message logged', 'gravitysmtp' ) ), 200 ); } protected function validate() { if ( ! parent::validate() ) { return false; } if ( empty( $_REQUEST[ self::PARAM_LOG_MESSAGE ] ) ) { return false; } return true; } }