MC4WP_Form_Listener::listen PHP Method

listen() public method

Listen for submitted forms
public listen ( MC4WP_Request $request ) : boolean
$request MC4WP_Request
return boolean
    public function listen(MC4WP_Request $request)
    {
        if (!$request->post->get('_mc4wp_form_id')) {
            return false;
        }
        try {
            $form = mc4wp_get_form($request->post->get('_mc4wp_form_id'));
        } catch (Exception $e) {
            return false;
        }
        // where the magic happens
        $form->handle_request($request);
        $form->validate();
        // store submitted form
        $this->submitted_form = $form;
        // did form have errors?
        if (!$form->has_errors()) {
            // form was valid, do something
            $method = 'process_' . $form->get_action() . '_form';
            call_user_func(array($this, $method), $form, $request);
        } else {
            $this->get_log()->info(sprintf("Form %d > Submitted with errors: %s", $form->ID, join(', ', $form->errors)));
        }
        $this->respond($form);
        return true;
    }

Usage Example

Beispiel #1
0
 /**
  * Initialise the form listener
  *
  * @hooked `init`
  */
 public function init_form_listener()
 {
     $this->listener = new MC4WP_Form_Listener();
     $this->listener->listen($_POST);
 }
All Usage Examples Of MC4WP_Form_Listener::listen