HEX
Server:
System: Linux aac286ea486c 5.14.0-687.15.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 11 08:51:45 EDT 2026 x86_64
User: root (0)
PHP: 8.2.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,disk_free_space,diskfreespace
Upload Files
File: /dom877180/wp-content/plugins/mailchimp-for-wp/includes/forms/class-form-amp.php
<?php

defined('ABSPATH') or exit;


/**
 * Class MC4WP_Form_AMP
 */
class MC4WP_Form_AMP
{
    /**
     * Hook!
     */
    public function add_hooks()
    {
        add_filter('mc4wp_form_content', [ $this, 'add_response_templates' ], 10, 2);
        add_filter('mc4wp_form_element_attributes', [ $this, 'add_amp_request' ]);
        add_filter('mc4wp_load_form_scripts', [ $this, 'suppress_scripts' ]);
    }

    /**
     * Add AMP templates for submit/success/error.
     *
     * @param string     $content The form content.
     * @param MC4WP_Form $form The form object.
     * @return string    Modified $content.
     */
    public function add_response_templates($content, $form)
    {
        if (! function_exists('amp_is_request') || ! amp_is_request()) {
            return $content;
        }

        ob_start();
        ?>
        <div submitting>
            <template type="amp-mustache">
                <?php echo esc_html__('Submitting...', 'mailchimp-for-wp'); ?>
            </template>
        </div>
        <div submit-success>
            <template type="amp-mustache">
                <?php
                echo wp_kses(
                    $form->get_message('subscribed'),
                    [
                    'a' => [],
                    'strong' => [],
                    'em' => [],
                    ]
                );
                ?>
            </template>
        </div>
        <div submit-error>
            <template type="amp-mustache">
                {{message}}
            </template>
        </div>
        <?php
        $content .= ob_get_clean();

        return $content;
    }

    /**
     * Add 'action-xhr' to AMP forms.
     *
     * @param array $attributes Key-Value pairs of attributes output on form.
     * @return array Modified $attributes.
     */
    public function add_amp_request($attributes)
    {
        if (function_exists('amp_is_request') && amp_is_request()) {
            $attributes['action-xhr'] = get_rest_url(null, 'mc4wp/v1/form');
        }

        return $attributes;
    }

    /**
     * Suppress form scripts on AMP pages.
     *
     * @param bool $load_scripts Whether scripts should be loaded.
     * @return bool Modified $load_scripts.
     */
    public function suppress_scripts($load_scripts)
    {
        if (function_exists('amp_is_request') && amp_is_request()) {
            return false;
        }

        return $load_scripts;
    }
}