PluginProbe
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / 1.3.0
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz v1.3.0
2.12.6 2.12.5 2.12.4 2.12.3 2.12.2 2.12.1 2.12.0 2.11.1 2.11.0 2.10.1 2.10.0 2.9.1 2.9.0 2.8.2 2.8.1 2.7.0 2.7.1 2.8.0 trunk 0.0.10 0.0.11 0.0.12 0.0.13 0.0.2 0.0.3 All 96 releases
sureforms / templates / single-form.php
single-form.php
210 lines 6.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Form Single template.
4 *
5 * @package SureForms
6 */
7
8 use SRFM\Inc\Generate_Form_Markup;
9 use SRFM\Inc\Helper;
10
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit; // Exit if accessed directly.
13 }
14
15 $srfm_custom_post_id = absint( get_the_ID() );
16 $srfm_form_preview = isset( $_GET['form_preview'] ) ? boolval( sanitize_text_field( wp_unslash( $_GET['form_preview'] ) ) ) : false; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
17 $srfm_live_mode_data = Helper::get_instant_form_live_data();
18
19 $instant_form_settings = ! empty( $srfm_live_mode_data ) ? $srfm_live_mode_data : Helper::get_array_value( Helper::get_post_meta( $srfm_custom_post_id, '_srfm_instant_form_settings' ) );
20 $site_logo = $instant_form_settings['site_logo'];
21 $bg_type = $instant_form_settings['bg_type'];
22 $bg_color = $instant_form_settings['bg_color'];
23 $bg_image = $instant_form_settings['bg_image'];
24 $cover_type = $instant_form_settings['cover_type'];
25 $cover_color = $instant_form_settings['cover_color'];
26 $cover_image = $instant_form_settings['cover_image'];
27 $enable_instant_form = $instant_form_settings['enable_instant_form'];
28 $form_container_width = $instant_form_settings['form_container_width'];
29 $single_page_form_title = $instant_form_settings['single_page_form_title'];
30 $use_banner_as_page_background = $instant_form_settings['use_banner_as_page_background'];
31
32 $srfm_cover_image_url = $cover_image ? rawurldecode( strval( $cover_image ) ) : '';
33
34 if ( 'image' === $bg_type ) {
35 $bg_image = $bg_image ? 'url(' . $bg_image . ')' : '';
36 $bg_color = '#ffffff';
37 } else {
38 $bg_image = 'none';
39 $bg_color = $bg_color ? $bg_color : '';
40 }
41
42 $body_classes = [];
43
44 if ( $use_banner_as_page_background ) {
45 $body_classes[] = 'srfm-has-banner-page-bg';
46
47 if ( 'image' === $cover_type && ! empty( $srfm_cover_image_url ) ) {
48 $body_classes[] = 'srfm-has-cover-img';
49 }
50 }
51
52 ?>
53 <!DOCTYPE html>
54 <html class="srfm-html" <?php language_attributes(); ?>>
55
56 <head>
57 <meta charset="<?php bloginfo( 'charset' ); ?>">
58 <meta http-equiv="x-ua-compatible" content="ie=edge">
59 <?php if ( ! wp_is_block_theme() ) { ?>
60 <meta name="viewport" content="width=device-width, initial-scale=1">
61 <?php
62 }
63 ?>
64 <style>
65 <?php
66 echo wp_kses_post( Helper::get_meta_value( $srfm_custom_post_id, '_srfm_form_custom_css' ) );
67
68 if ( $srfm_live_mode_data ) {
69 ?>
70 html {
71 margin: 0 !important;
72 opacity: 0;
73 transition: all 0.5s ease-in-out;
74 }
75 #wpadminbar {
76 display: none;
77 }
78 body {
79 pointer-events: none;
80 }
81 <?php
82 }
83
84 if ( ! $srfm_form_preview ) {
85 ?>
86 body * {
87 /* Maintain consistent box-sizing for different themes. */
88 box-sizing: border-box;
89 }
90 #srfm-single-page-container {
91 --srfm-form-container-width: <?php echo esc_attr( $form_container_width . 'px' ); ?>;
92 --srfm-bg-image: <?php echo $bg_image && is_string( $bg_image ) ? esc_html( $bg_image ) : ''; ?>;
93 --srfm-bg-color: <?php echo $bg_color && is_string( $bg_color ) ? esc_html( $bg_color ) : ''; ?>;
94 }
95 <?php
96 $selector = '.single-sureforms_form .srfm-single-page-container .srfm-page-banner';
97
98 if ( $use_banner_as_page_background ) {
99 $selector = 'html body.single-sureforms_form';
100 }
101 ?>
102 <?php echo esc_html( $selector ); ?> {
103 <?php if ( 'image' === $cover_type && ! empty( $srfm_cover_image_url ) ) { ?>
104 background-image: url(<?php echo esc_attr( $srfm_cover_image_url ); ?> );
105 background-position: center;
106 background-repeat: no-repeat;
107 background-size: cover;
108 <?php } else { ?>
109 background-color: <?php echo esc_attr( $cover_color ); ?>;
110 <?php } ?>
111 }
112 <?php
113 } else {
114 ?>
115 html.srfm-html {
116 margin-top: 0 !important;
117 /* make the background transparent for the sureforms/form block preview */
118 background-color: transparent;
119 /* Needs to be important to remove margin-top added by WordPress admin bar */
120 }
121 body.single.single-sureforms_form {
122 background-color: transparent;
123 }
124 .srfm-form-container~div,
125 .srfm-instant-form-wrn-ctn {
126 display: none !important;
127 /* Needs to be important to remove any blocks added by external plugins in wp_footer() */
128 }
129 <?php
130 }
131 ?>
132 </style>
133
134 <?php wp_head(); ?>
135 </head>
136
137 <body <?php body_class( $body_classes ); ?>>
138 <?php if ( ! $srfm_form_preview ) { ?>
139 <div id="srfm-single-page-container" class="srfm-single-page-container <?php echo (bool) $single_page_form_title ? 'has-form-title' : ''; ?>">
140 <div class="srfm-page-banner">
141 <?php
142 if ( ! empty( $site_logo ) ) {
143 ?>
144 <a href="<?php echo esc_url( home_url() ); ?>" aria-label="<?php esc_attr_e( 'Link to homepage', 'sureforms' ); ?>">
145 <img class="srfm-site-logo" src="<?php echo esc_url( $site_logo ); ?>" alt="<?php esc_attr_e( 'Instant form site logo', 'sureforms' ); ?>">
146 </a>
147 <?php
148 }
149
150 if ( ! empty( $single_page_form_title ) ) {
151 ?>
152 <h1 class="srfm-single-banner-title"><?php echo esc_html( get_the_title() ); ?></h1>
153 <?php
154 }
155
156 if ( empty( $enable_instant_form ) ) {
157 ?>
158 <div class="srfm-form-status-badge"><?php esc_html_e( 'Instant Form Disabled', 'sureforms' ); ?></div>
159 <?php
160 }
161 ?>
162 </div>
163 <div class="srfm-form-wrapper">
164 <?php
165 // phpcs:ignore
166 echo Generate_Form_Markup::get_form_markup( $srfm_custom_post_id, false, '', 'sureforms_form' );
167 // phpcs:ignoreEnd
168 ?>
169 </div>
170 <?php
171 if ( ! defined( 'SRFM_PRO_VER' ) ) {
172 // Display SureForms branding if SureForms Pro is not activated.
173 echo wp_kses_post(
174 sprintf(
175 '<a href="%1$s" class="srfm-branding" target="_blank">%2$s</a>',
176 esc_url( SRFM_WEBSITE ),
177 /* translators: Here %s is the plugin's name. */
178 sprintf( esc_html__( 'Crafted with ♡ %s', 'sureforms' ), 'SureForms' )
179 )
180 );
181 }
182 ?>
183 </div>
184 <?php } else { ?>
185 <?php
186 show_admin_bar( false );
187 // phpcs:ignore
188 echo Generate_Form_Markup::get_form_markup( $srfm_custom_post_id, false, 'sureforms_form' );
189 // phpcs:ignoreEnd
190 }
191
192 wp_footer();
193
194 if ( $srfm_live_mode_data ) {
195 ?>
196 <script>
197 (function() {
198 document.addEventListener('DOMContentLoaded', function() {
199 document.querySelector('html').style.opacity = 1;
200 });
201 }());
202 </script>
203 <?php
204 }
205 ?>
206 </body>
207
208 </html>
209 <?php
210