AnsPress_Process_Form()
Description #
Process AnsPress forms.
Source #
File: includes/process-form.php
class AnsPress_Process_Form { /** * Results to send in ajax callback. * * @var array */ private $result; /** * Link to redirect. * * @var string */ private $redirect; /** * Used for property assignment. * * @var object */ public $request; /** * Initialize the class */ public function __construct() { add_action( 'wp_ajax_ap_ajax', array( $this, 'ap_ajax' ) ); add_action( 'wp_ajax_nopriv_ap_ajax', array( $this, 'ap_ajax' ) ); } /** * For non ajax form. * * @return void */ public function non_ajax_form() { $form_action = ap_isset_post_value( 'ap_form_action' ); $ajax_action = ap_isset_post_value( 'ap_ajax_action' ); // return if ap_form_action is not set, probably its not our form. if ( ! $form_action || $ajax_action ) { return; } $this->request = $_REQUEST; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $this->process_form(); if ( ! empty( $this->redirect ) ) { wp_redirect( $this->redirect ); // phpcs:ignore WordPress.Security.SafeRedirect.wp_redirect_wp_redirect exit; } } /** * Handle all anspress ajax requests. * * @return void * @since 2.0.1 */ public function ap_ajax() { $ajax_action = ap_isset_post_value( 'ap_ajax_action' ); $form_action = ap_isset_post_value( 'ap_form_action' ); if ( ! $ajax_action ) { exit; } $this->request = $_REQUEST; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( $form_action ) { $this->is_ajax = true; $this->process_form(); ap_ajax_json( $this->result ); } else { $action = ap_sanitize_unslash( 'ap_ajax_action', 'r' ); /** * ACTION: ap_ajax_[$action] * Action for processing Ajax requests * * @since 2.0.1 */ do_action( 'ap_ajax_' . $action ); } // If reached to this point then there is something wrong. ap_ajax_json( 'something_wrong' ); } /** * Process form based on action value. * * @return void * @since 2.0.1 * @deprecated 4.1.5 */ public function process_form() { $form_action = ap_isset_post_value( 'ap_form_action' ); $action = sanitize_text_field( $form_action ); /** * ACTION: ap_process_form_[action] * process form * * @since 2.0.1 * @deprecated 4.1.0 */ do_action( 'ap_process_form_' . $action ); } }
Expand full source code Collapse full source code View on GitHub: includes/process-form.php:22
Add your comment