| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php if ( ! defined( 'ABSPATH' ) ) exit;
- abstract class NF_Abstracts_Controller
- {
- /**
- * Data (Misc.) passed back to the client in the Response.
- *
- * @var array
- */
- protected $_data = array();
- /**
- * Errors passed back to the client in the Response.
- *
- * @var array
- */
- protected $_errors = array();
- /**
- * Debug Messages passed back to the client in the Response.
- *
- * @var array
- */
- protected $_debug = array();
- /*
- * PUBLIC METHODS
- */
- /**
- * NF_Abstracts_Controller constructor.
- */
- public function __construct()
- {
- //This section intentionally left blank.
- }
- /*
- * PROTECTED METHODS
- */
- /**
- * Respond
- *
- * A wrapper for the WordPress AJAX response pattern.
- */
- protected function _respond( $data = array() )
- {
- if( empty( $data ) ){
- $data = $this->_data;
- }
- if( isset( $this->_data['debug'] ) ) {
- $this->_debug = array_merge( $this->_debug, $this->_data[ 'debug' ] );
- }
- if( isset( $this->_data['errors'] ) && $this->_data[ 'errors' ] ) {
- $this->_errors = array_merge( $this->_errors, $this->_data[ 'errors' ] );
- }
- // allow for accessing and acting on $data before responding
- do_action( 'ninja_forms_before_response', $data );
- $response = array( 'data' => $data, 'errors' => $this->_errors, 'debug' => $this->_debug );
- echo wp_json_encode( $response );
- wp_die(); // this is required to terminate immediately and return a proper response
- }
- }
|