l']); return $data; } /** * Load JavaScript files */ public function before_output_form() { $load_scripts = apply_filters('mc4wp_load_form_scripts', true); if (! $load_scripts) { return; } $this->print_dummy_javascript(); $this->load_scripts = true; } /** * Prints dummy JavaScript which allows people to call `mc4wp.forms.on()` before the JS is loaded. */ public function print_dummy_javascript() { echo ''; } /** * Outputs the inline JavaScript that is used to enhance forms */ public function load_scripts() { $load_scripts = apply_filters('mc4wp_load_form_scripts', $this->load_scripts); if (! $load_scripts) { return; } // load general client-side form API wp_enqueue_script('mc4wp-forms-api'); // maybe load JS file for when a form was submitted over HTTP POST $submitted_form_data = $this->get_submitted_form_data(); if ($submitted_form_data !== null) { wp_enqueue_script('mc4wp-forms-submitted', mc4wp_plugin_url('assets/js/forms-submitted.js'), [ 'mc4wp-forms-api' ], MC4WP_VERSION, true); wp_localize_script('mc4wp-forms-submitted', 'mc4wp_submitted_form', $submitted_form_data); } // print inline scripts echo ''; /** @ignore */ do_action('mc4wp_load_form_scripts'); } /** * Adds `defer` attribute to all form-related `