PluginProbe
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / 2.12.8
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz v2.12.8
2.12.8 2.12.7 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 All 98 releases
← All changes | templates/single-form.php +94 -87 0.0.11 → 2.12.8 View file →
@@ -4,8 +4,9 @@
4 4 *
5 5 * @package SureForms
6 6 */
7 7
8 +use SRFM\Inc\Compatibility\Multilingual\String_Translator;
8 9 use SRFM\Inc\Generate_Form_Markup;
9 10 use SRFM\Inc\Helper;
10 11
11 12 if ( ! defined( 'ABSPATH' ) ) {
@@ -11,10 +12,12 @@
11 12 if ( ! defined( 'ABSPATH' ) ) {
12 13 exit; // Exit if accessed directly.
13 14 }
14 15
16 +// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- Template-scoped variables consumed only within this template, not true plugin globals.
17 +
15 18 $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
19 +$srfm_form_preview = isset( $_GET['form_preview'] ) ? boolval( wp_unslash( $_GET['form_preview'] ) ) : false; // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nonce verification is not required here.
17 20 $srfm_live_mode_data = Helper::get_instant_form_live_data();
18 21
19 22 $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 23 $site_logo = $instant_form_settings['site_logo'];
@@ -19,9 +22,8 @@
19 22 $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 23 $site_logo = $instant_form_settings['site_logo'];
21 24 $bg_type = $instant_form_settings['bg_type'];
22 25 $bg_color = $instant_form_settings['bg_color'];
23 -$bg_image = $instant_form_settings['bg_image'];
24 26 $cover_type = $instant_form_settings['cover_type'];
25 27 $cover_color = $instant_form_settings['cover_color'];
26 28 $cover_image = $instant_form_settings['cover_image'];
27 29 $enable_instant_form = $instant_form_settings['enable_instant_form'];
@@ -30,16 +32,27 @@
30 32 $use_banner_as_page_background = $instant_form_settings['use_banner_as_page_background'];
31 33
32 34 $srfm_cover_image_url = $cover_image ? rawurldecode( strval( $cover_image ) ) : '';
33 35
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 : '';
36 +// Filter to use custom bg image and color combination on the Instant Form page.
37 +if ( apply_filters( 'srfm_use_color_or_image_as_bg', true ) ) {
38 + if ( 'image' === $bg_type ) {
39 + $bg_color = '#ffffff';
40 + } else {
41 + $bg_color = $bg_color ? $bg_color : '';
42 + }
40 43 }
41 44
45 +$body_classes = [];
46 +
47 +if ( $use_banner_as_page_background ) {
48 + $body_classes[] = 'srfm-has-banner-page-bg';
49 +
50 + if ( 'image' === $cover_type && ! empty( $srfm_cover_image_url ) ) {
51 + $body_classes[] = 'srfm-has-cover-img';
52 + }
53 +}
54 +
42 55 ?>
43 56 <!DOCTYPE html>
44 57 <html class="srfm-html" <?php language_attributes(); ?>>
45 58
@@ -49,9 +62,8 @@
49 62 <?php if ( ! wp_is_block_theme() ) { ?>
50 63 <meta name="viewport" content="width=device-width, initial-scale=1">
51 64 <?php
52 65 }
53 - wp_head();
54 66 ?>
55 67 <style>
56 68 <?php
57 69 echo wp_kses_post( Helper::get_meta_value( $srfm_custom_post_id, '_srfm_form_custom_css' ) );
@@ -79,9 +91,8 @@
79 91 box-sizing: border-box;
80 92 }
81 93 #srfm-single-page-container {
82 94 --srfm-form-container-width: <?php echo esc_attr( $form_container_width . 'px' ); ?>;
83 - --srfm-bg-image: <?php echo $bg_image && is_string( $bg_image ) ? esc_html( $bg_image ) : ''; ?>;
84 95 --srfm-bg-color: <?php echo $bg_color && is_string( $bg_color ) ? esc_html( $bg_color ) : ''; ?>;
85 96 }
86 97 <?php
87 98 $selector = '.single-sureforms_form .srfm-single-page-container .srfm-page-banner';
@@ -90,37 +101,21 @@
90 101 $selector = 'html body.single-sureforms_form';
91 102 }
92 103 ?>
93 104 <?php echo esc_html( $selector ); ?> {
94 - <?php if ( 'image' === $cover_type && ! empty( $srfm_cover_image_url ) ) : ?>
105 + <?php if ( 'image' === $cover_type && ! empty( $srfm_cover_image_url ) ) { ?>
95 106 background-image: url(<?php echo esc_attr( $srfm_cover_image_url ); ?> );
96 107 background-position: center;
97 108 background-repeat: no-repeat;
98 109 background-size: cover;
99 - <?php else : ?>
110 + <?php if ( $use_banner_as_page_background ) { ?>
111 + background-attachment: fixed;
112 + <?php } ?>
113 + <?php } else { ?>
100 114 background-color: <?php echo esc_attr( $cover_color ); ?>;
101 - <?php endif; ?>
115 + <?php } ?>
102 116 }
103 117 <?php
104 - if ( $use_banner_as_page_background ) {
105 - // Some special edge case css when banner as page background enabled.
106 - ?>
107 - .single-sureforms_form .srfm-single-page-container.has-form-title .srfm-page-banner {
108 - height: 172px;
109 - }
110 - .single-sureforms_form .srfm-single-page-container .srfm-page-banner {
111 - height: 112px;
112 - padding-bottom: 60px;
113 - }
114 - .single-sureforms_form .srfm-single-page-container .srfm-form-wrapper {
115 - padding-bottom: 100px;
116 - height: 100%;
117 - }
118 - .single-sureforms_form .srfm-single-page-container .srfm-form-wrapper .srfm-form-container {
119 - position: static;
120 - }
121 - <?php
122 - }
123 118 } else {
124 119 ?>
125 120 html.srfm-html {
126 121 margin-top: 0 !important;
@@ -139,79 +134,91 @@
139 134 <?php
140 135 }
141 136 ?>
142 137 </style>
138 +
139 + <?php wp_head(); ?>
143 140 </head>
144 141
145 -<body <?php body_class(); ?>>
146 - <?php if ( ! $srfm_form_preview ) { ?>
147 - <div id="srfm-single-page-container" class="srfm-single-page-container <?php echo ! ! $single_page_form_title ? 'has-form-title' : ''; ?>">
148 - <div class="srfm-page-banner">
149 - <?php
150 - if ( ! empty( $site_logo ) ) {
151 - ?>
152 - <a href="<?php echo esc_url( home_url() ); ?>" aria-label="<?php esc_attr_e( 'Link to homepage', 'sureforms' ); ?>">
153 - <img class="srfm-site-logo" src="<?php echo esc_url( $site_logo ); ?>" alt="<?php esc_attr_e( 'Instant form site logo', 'sureforms' ); ?>">
154 - </a>
155 - <?php
156 - }
142 + <?php
143 + // Filter to use custom body content on the Instant Form page.
144 + if ( ! apply_filters( 'srfm_use_custom_body_template', false ) ) {
145 + ?>
146 + <body <?php body_class( $body_classes ); ?>>
147 + <?php if ( ! $srfm_form_preview ) { ?>
148 + <div id="srfm-single-page-container" class="srfm-single-page-container <?php echo (bool) $single_page_form_title ? 'has-form-title' : ''; ?>">
149 + <div class="srfm-page-banner">
150 + <?php
151 + if ( ! empty( $site_logo ) ) {
152 + ?>
153 + <a href="<?php echo esc_url( home_url() ); ?>" aria-label="<?php esc_attr_e( 'Link to homepage', 'sureforms' ); ?>">
154 + <img class="srfm-site-logo" src="<?php echo esc_url( $site_logo ); ?>" alt="<?php esc_attr_e( 'Instant form site logo', 'sureforms' ); ?>">
155 + </a>
156 + <?php
157 + }
157 158
158 - if ( ! empty( $single_page_form_title ) ) {
159 - ?>
160 - <h1 class="srfm-single-banner-title"><?php echo esc_html( get_the_title() ); ?></h1>
159 + if ( ! empty( $single_page_form_title ) ) {
160 + $srfm_banner_title = String_Translator::get_instance()->translate_form_title( (int) get_the_ID(), Helper::get_string_value( get_the_title() ) );
161 + ?>
162 + <h1 class="srfm-single-banner-title"><?php echo esc_html( $srfm_banner_title ); ?></h1>
163 + <?php
164 + }
165 + ?>
166 + </div>
167 + <div class="srfm-form-wrapper">
168 + <?php
169 + // phpcs:ignore
170 + echo Generate_Form_Markup::get_form_markup( $srfm_custom_post_id, false, '', 'sureforms_form' );
171 + // phpcs:ignoreEnd
172 + ?>
173 + </div>
161 174 <?php
162 - }
163 -
164 - if ( empty( $enable_instant_form ) ) {
175 + if ( ! Helper::has_pro() ) {
176 + // Display SureForms branding if SureForms Pro is not activated.
177 + echo wp_kses_post(
178 + sprintf(
179 + '<a href="%1$s" class="srfm-branding" target="_blank">%2$s</a>',
180 + esc_url( SRFM_WEBSITE ),
181 + /* translators: Here %s is the plugin's name. */
182 + sprintf( esc_html__( 'Crafted with ♡ %s', 'sureforms' ), 'SureForms' )
183 + )
184 + );
185 + }
165 186 ?>
166 - <div class="srfm-form-status-badge"><?php esc_html_e( 'Unpublished', 'sureforms' ); ?></div>
167 - <?php
168 - }
169 - ?>
170 - </div>
171 - <div class="srfm-form-wrapper">
187 + </div>
188 + <?php } else { ?>
172 189 <?php
190 + show_admin_bar( false );
173 191 // phpcs:ignore
174 - echo Generate_Form_Markup::get_form_markup( $srfm_custom_post_id, false, '', 'sureforms_form' );
192 + echo Generate_Form_Markup::get_form_markup( $srfm_custom_post_id, false, 'sureforms_form' );
175 193 // phpcs:ignoreEnd
176 - ?>
177 - </div>
178 - <?php
179 - if ( ! defined( 'SRFM_PRO_VER' ) ) {
180 - // Display SureForms branding if SureForms Pro is not activated.
181 - echo wp_kses_post(
182 - sprintf(
183 - '<a href="%1$s" class="srfm-branding" target="_blank">%2$s</a>',
184 - esc_url( SRFM_WEBSITE ),
185 - /* translators: Here %s is the plugin's name. */
186 - sprintf( esc_html__( 'Powered By %s', 'sureforms' ), 'SureForms' )
187 - )
188 - );
189 - }
190 - ?>
191 - </div>
192 - <?php } else { ?>
194 + }
195 + wp_footer();
196 + ?>
197 + </body>
193 198 <?php
194 - show_admin_bar( false );
195 - // phpcs:ignore
196 - echo Generate_Form_Markup::get_form_markup( $srfm_custom_post_id, false, 'sureforms_form' );
197 - // phpcs:ignoreEnd
198 199 }
199 200
200 - wp_footer();
201 + if ( ! $srfm_form_preview && empty( $enable_instant_form ) ) {
202 + ?>
203 + <div class="srfm-form-status-badge"><?php esc_html_e( 'Instant Form Disabled', 'sureforms' ); ?></div>
204 + <?php
205 + }
201 206
207 + // Action to load custom body content on the Instant Form page.
208 + do_action( 'srfm_after_instant_form_body', $srfm_custom_post_id, $instant_form_settings, $body_classes );
209 +
202 210 if ( $srfm_live_mode_data ) {
203 211 ?>
204 - <script>
205 - (function() {
206 - document.addEventListener('DOMContentLoaded', function() {
207 - document.querySelector('html').style.opacity = 1;
208 - });
209 - }());
210 - </script>
212 + <script>
213 + (function() {
214 + document.addEventListener('DOMContentLoaded', function() {
215 + document.querySelector('html').style.opacity = 1;
216 + });
217 + }());
218 + </script>
211 219 <?php
212 220 }
213 221 ?>
214 -</body>
215 222
216 223 </html>
217 224 <?php