| Server IP : 34.67.85.211 / Your IP : 216.73.217.52 Web Server : Apache System : Linux wordpress-1-vm 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64 User : root ( 0) PHP Version : 7.4.9 Disable Function : 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,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/mailchimp-for-wp/includes/forms/ |
Upload File : |
<?php
/**
* Class MC4WP_Form_AMP
*/
class MC4WP_Form_AMP {
/**
* Hook!
*/
public function add_hooks() {
add_filter( 'mc4wp_form_content', array( $this, 'add_response_templates' ), 10, 2 );
add_filter( 'mc4wp_form_element_attributes', array( $this, 'add_amp_request' ) );
add_filter( 'mc4wp_load_form_scripts', array( $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( 'is_amp_endpoint' ) || ! is_amp_endpoint() ) {
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' ),
array(
'a' => array(),
'strong' => array(),
'em' => array(),
)
);
?>
</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( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
$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( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
return false;
}
return $load_scripts;
}
}