bmit-error:AMP.setState( %2$s );', wp_json_encode( [ $this->get_form_amp_state_id( $form_id ) => [ 'submitting' => true ], ] ), wp_json_encode( [ $this->get_form_amp_state_id( $form_id ) => [ 'submitting' => false ], ] ) ); // Upgrade the form to be an amp-form to avoid sanitizer conversion. if ( isset( $form_atts['atts']['action'] ) ) { $form_atts['atts']['action-xhr'] = $form_atts['atts']['action']; $form_atts['atts']['verify-xhr'] = $form_atts['atts']['action-xhr']; unset( $form_atts['atts']['action'] ); } return $form_atts; } /** * Get the amp-state ID for a given form. * * @since 1.8.1 * * @param int $form_id Form ID. * * @return string State ID. */ private function get_form_amp_state_id( $form_id ) { return sprintf( 'wpforms_form_state_%d', $form_id ); } /** * Output AMP state. * * @since 1.8.1 * * @param array $form_data Form data and settings. * @param null $deprecated Deprecated. * @param string $title Form title. * @param string $description Form description. * @param array $errors Errors. * * @noinspection PhpUnusedParameterInspection */ public function output_state( $form_data, $deprecated, $title, $description, $errors ) { if ( ! $this->is_amp() ) { return; } $state = [ 'submitting' => false ]; $form_id = ! empty( $form_data['id'] ) ? (int) $form_data['id'] : 0; printf( '', $this->get_form_amp_state_id( $form_id ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped wp_json_encode( $state ) ); } /** * Output submit success template. * * @since 1.8.1 * * @param array $form_data Form data and settings. * * @return bool True if the template was printed. */ public function output_success_template( $form_data ) { if ( ! $this->is_amp() ) { return false; } $frontend = wpforms()->obj( 'frontend' ); if ( ! $frontend ) { return false; } $frontend->assets_confirmation( $form_data ); $class = (int) wpforms_setting( 'disable-css', '1' ) === 1 ? 'wpforms-confirmation-container-full' : 'wpforms-confirmation-container'; printf( '
', esc_attr( $class ) ); return true; } /** * Output submit error template. * * @since 1.8.1 * * @return bool True if the template was printed. */ public function output_error_template() { if ( ! $this->is_amp() ) { return false; } echo '
'; return true; } /** * Get text attribute. * * @since 1.8.1 * * @param int $form_id Form ID. * @param array $settings Form settings. * @param string $submit Submit button text. * * @return string */ public function get_text_attr( $form_id, $settings, $submit ) { return sprintf( '%s.submitting ? %s : %s', $this->get_form_amp_state_id( $form_id ), wp_json_encode( $settings['submit_text_processing'], JSON_UNESCAPED_UNICODE ), wp_json_encode( $submit, JSON_UNESCAPED_UNICODE ) ); } /** * Output captcha. * * @since 1.8.1 * * @param bool $is_recaptcha_v3 Whether we use v3. * @param array $captcha_settings Captcha settings. * @param array $form_data Form data. * * @return bool */ public function output_captcha( $is_recaptcha_v3, $captcha_settings, $form_data ) { if ( ! $this->is_amp() ) { return false; } if ( $is_recaptcha_v3 ) { printf( '', esc_attr( $captcha_settings['site_key'] ), esc_attr( 'wpforms_' . $form_data['id'] ) ); return true; } if ( is_super_admin() ) { $captcha_provider = $captcha_settings['provider'] === 'hcaptcha' ? esc_html__( 'hCaptcha', 'wpforms-lite' ) : esc_html__( 'Google reCAPTCHA v2', 'wpforms-lite' ); echo '
'; printf( wp_kses( /* translators: %1$s - CAPTCHA provider name, %2$s - URL to reCAPTCHA documentation. */ __( '%1$s is not supported by AMP and is currently disabled.
Upgrade to reCAPTCHA v3 for full AMP support.
Please note: this message is only displayed to site administrators.', 'wpforms-lite' ), [ 'a' => [ 'href' => [], 'rel' => [], 'target' => [], ], 'br' => [], 'em' => [], ] ), $captcha_provider, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 'https://wpforms.com/docs/setup-captcha-wpforms/' ); echo '
'; return true; } return false; } } Shop | WETBAG
Sort by:

Shop