# jetformbuilder/1.1.0/includes/form-response/response.php

JetFormBuilder — Dynamic Blocks Form Builder, version 1.1.0. 63 lines.

- Page: https://pluginprobe.com/plugins/jetformbuilder/1.1.0/code/includes/form-response/response.php
- Raw: https://pluginprobe.com/plugins/jetformbuilder/1.1.0/raw/includes/form-response/response.php
- Modified: 2021-03-05T08:47:30+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/jetformbuilder/1.1.0/code/includes/form-response/response.php#L10-L20`.

```php
<?php


namespace Jet_Form_Builder\Form_Response;


use Jet_Form_Builder\Form_Response\Types\Response_It;

class Response {

	private $manager;
	private $query_args = array();
	private $args = array();

	public $default_args = array(
		'status' => 'success',
		'errors' => array()
	);

	public function __construct( Response_It $instance, $query_args = array() ) {
		$this->manager = $instance;
		$this->add_query_args( $query_args );
	}

	public function send() {
		$this->manager->send( $this->query_args );
	}

	private function init_query_args() {
		$this->add_query_args(
			array( 'status' => $this->manager->parse_status( $this->args['status'] ) )
		);
	}

	public function init( array $args ) {
		$this->args = wp_parse_args( $args, $this->default_args );

		$this->init_query_args();
		$this->call_on_status();

		return $this;
	}

	private function call_on_status() {
		$callable = array( $this, 'on_' . $this->args['status'] );

		if ( is_callable( $callable ) ) {
			call_user_func( $callable );
		}
	}

	private function add_query_args( $args ) {
		$this->query_args = array_merge( $this->query_args, $args );
	}

	public function on_validation_failed() {
		$this->add_query_args( array(
			'fields' => $this->manager->get_field_errors( $this->args['errors'] )
		) );
	}


}
```
