PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.8.2
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.8.2
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
formidable / classes / views / frm-fields / back-end / settings.php

settings.php in Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More 6.8.2, at classes/views/frm-fields/back-end/settings.php

405 lines 19.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 die( 'You are not allowed to call this page directly.' );
4 }
5 ?>
6 <div class="frm-single-settings frm_hidden frm-fields frm-type-<?php echo esc_attr( $field['type'] ); ?>" id="frm-single-settings-<?php echo esc_attr( $field['id'] ); ?>" data-fid="<?php echo esc_attr( $field['id'] ); ?>">
7 <input type="hidden" name="frm_fields_submitted[]" value="<?php echo esc_attr( $field['id'] ); ?>" />
8 <input type="hidden" name="field_options[field_order_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['field_order'] ); ?>" />
9
10 <h3 aria-expanded="true">
11 <?php
12 printf(
13 /* translators: %s: Field type */
14 esc_html__( '%s Field', 'formidable' ),
15 esc_html( $type_name )
16 );
17 ?>
18 <span class="frm-sub-label frm-text-sm">
19 (ID <?php echo esc_html( $field['id'] ); ?>)
20 </span>
21 </h3>
22
23 <div class="frm_grid_container frm-collapse-me" role="group">
24 <?php
25 if ( $field['type'] === 'captcha' && ! FrmFieldCaptcha::should_show_captcha() ) {
26 ?>
27 <div class="frm_warning_style frm-with-icon">
28 <?php FrmAppHelper::icon_by_class( 'frm_icon_font frm_alert_icon', array( 'style' => 'width:24px' ) ); ?>
29 <span>
30 <?php
31 /* translators: %1$s: Link HTML, %2$s: End link */
32 printf( esc_html__( 'Captchas will not be used until the Site and Secret Keys are %1$sset up%2$s.', 'formidable' ), '<a href="?page=formidable-settings&t=captcha_settings" target="_blank">', '</a>' );
33 ?>
34 </span>
35 </div>
36 <?php
37 }
38 if ( $field['type'] === 'credit_card' && ! FrmAppHelper::pro_is_installed() ) {
39 if ( ! FrmStrpLiteConnectHelper::at_least_one_mode_is_setup() ) {
40 FrmStrpLiteAppHelper::not_connected_warning();
41 } elseif ( ! FrmTransLiteActionsController::get_actions_for_form( $field['form_id'] ) ) {
42 ?>
43 <div class="frm_warning_style frm-with-icon">
44 <?php FrmAppHelper::icon_by_class( 'frm_icon_font frm_alert_icon', array( 'style' => 'width:24px' ) ); ?>
45 <span>
46 <?php
47 /* translators: %1$s: Link HTML, %2$s: End link */
48 printf( esc_html__( 'Credit Cards will not work without %1$sadding a Collect Payment action%2$s.', 'formidable' ), '<a href="?page=formidable&frm_action=settings&id=' . absint( $field['form_id'] ) . '&t=email_settings" target="_blank">', '</a>' );
49 ?>
50 </span>
51 </div>
52 <?php
53 }
54 }
55 ?>
56 <?php if ( $display['label'] ) { ?>
57 <p>
58 <label for="frm_name_<?php echo esc_attr( $field['id'] ); ?>">
59 <?php echo esc_html( apply_filters( 'frm_builder_field_label', __( 'Field Label', 'formidable' ), $field ) ); ?>
60 </label>
61 <input type="text" name="field_options[name_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['name'] ); ?>" id="frm_name_<?php echo esc_attr( $field['id'] ); ?>" data-changeme="field_label_<?php echo esc_attr( $field['id'] ); ?>" />
62 </p>
63 <?php } else { ?>
64 <input type="hidden" name="field_options[name_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['name'] ); ?>" id="frm_name_<?php echo esc_attr( $field['id'] ); ?>" />
65 <?php } ?>
66
67 <p class="frm-hide-empty">
68 <?php if ( $display['required'] ) { ?>
69 <label for="frm_req_field_<?php echo esc_attr( $field['id'] ); ?>" class="frm_inline_label">
70 <input type="checkbox" id="frm_req_field_<?php echo esc_attr( $field['id'] ); ?>" class="frm_req_field" name="field_options[required_<?php echo esc_attr( $field['id'] ); ?>]" value="1" <?php checked( $field['required'], 1 ); ?> />
71 <?php esc_html_e( 'Required', 'formidable' ); ?>
72 </label>
73 <?php
74 }
75
76 if ( $display['unique'] ) {
77 ?>
78 <label for="frm_uniq_field_<?php echo esc_attr( $field['id'] ); ?>" class="frm_inline_label frm_help" title="<?php esc_attr_e( 'Unique: Do not allow the same response multiple times. For example, if one user enters \'Joe\', then no one else will be allowed to enter the same name.', 'formidable' ); ?>"><input type="checkbox" name="field_options[unique_<?php echo esc_attr( $field['id'] ); ?>]" id="frm_uniq_field_<?php echo esc_attr( $field['id'] ); ?>" value="1" <?php checked( $field['unique'], 1 ); ?> class="frm_mark_unique" />
79 <?php esc_html_e( 'Unique', 'formidable' ); ?>
80 </label>
81 <?php
82 }
83
84 if ( $display['read_only'] ) {
85 ?>
86 <label for="frm_read_only_field_<?php echo esc_attr( $field['id'] ); ?>" class="frm_inline_label frm_help" title="<?php esc_attr_e( 'Read Only: Show this field but do not allow the field value to be edited from the front-end.', 'formidable' ); ?>" >
87 <input type="checkbox" id="frm_read_only_field_<?php echo esc_attr( $field['id'] ); ?>" name="field_options[read_only_<?php echo esc_attr( $field['id'] ); ?>]" value="1" <?php checked( $field['read_only'], 1 ); ?>/>
88 <?php esc_html_e( 'Read Only', 'formidable' ); ?>
89 </label>
90 <?php
91 }
92
93 do_action( 'frm_field_options_form_top', $field, $display, $values );
94 ?>
95 </p>
96
97 <?php
98 if ( $display['range'] ) {
99 include( FrmAppHelper::plugin_path() . '/classes/views/frm-fields/back-end/number-range.php' );
100 }
101
102 $field_obj->show_primary_options( compact( 'field', 'display', 'values' ) );
103
104 ?>
105
106 <?php if ( $display['css'] ) { ?>
107 <p class="frm-has-modal">
108 <label for="frm_classes_<?php echo esc_attr( $field['id'] ); ?>" class="frm_help" title="<?php esc_attr_e( 'Add a CSS class to the field container. Use our predefined classes to align multiple fields in single row.', 'formidable' ); ?>">
109 <?php esc_html_e( 'CSS Layout Classes', 'formidable' ); ?>
110 </label>
111 <span class="frm-with-right-icon">
112 <?php
113 FrmAppHelper::icon_by_class(
114 'frm_icon_font frm_more_horiz_solid_icon frm-show-inline-modal',
115 array(
116 'data-open' => 'frm-layout-classes-box',
117 'title' => esc_attr__( 'Toggle Options', 'formidable' ),
118 )
119 );
120 ?>
121 <input type="text" name="field_options[classes_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['classes'] ); ?>" class="frm_classes" id="frm_classes_<?php echo esc_attr( $field['id'] ); ?>" data-changeme="frm_field_id_<?php echo esc_attr( $field['id'] ); ?>" data-changeatt="class" data-sep=" " data-shortcode="0" />
122 </span>
123 </p>
124 <?php } ?>
125 </div>
126
127 <?php
128
129 $field_obj->show_field_choices( compact( 'field', 'display', 'values' ) );
130
131 if ( $display['clear_on_focus'] ) {
132 do_action( 'frm_extra_field_display_options', $field );
133 }
134
135 /**
136 * Fires after printing the primary options section of field.
137 *
138 * @since 5.0.04 Added `$display` and `$values`.
139 *
140 * @param array $field Field data.
141 * @param FrmFieldType $field_obj Field type object.
142 * @param array $display Display data.
143 * @param array $values Field values.
144 */
145 do_action( 'frm_before_field_options', $field, compact( 'field_obj', 'display', 'values' ) );
146
147 ?>
148 <h3 class="frm-collapsed" aria-expanded="false" tabindex="0" role="button" aria-label="<?php esc_html_e( 'Collapsible Advanced Settings', 'formidable' ); ?>" aria-controls="collapsible-section">
149 <?php esc_html_e( 'Advanced', 'formidable' ); ?>
150 <?php FrmAppHelper::icon_by_class( 'frmfont frm_arrowdown6_icon', array( 'aria-hidden' => 'true' ) ); ?>
151 </h3>
152 <div class="frm_grid_container frm-collapse-me" role="group">
153
154 <?php if ( $display['default'] ) { ?>
155 <div class="frm-has-modal">
156 <?php if ( count( $default_value_types ) > 1 ) { ?>
157 <span class="frm-default-switcher">
158 <?php foreach ( $default_value_types as $def_name => $link ) { ?>
159 <a href="#" title="<?php echo esc_attr( $link['title'] ); ?>" class="<?php echo esc_attr( $link['class'] ); ?>" data-toggleclass="frm_hidden frm-open"
160 <?php foreach ( $link['data'] as $data_key => $data_value ) { ?>
161 data-<?php echo esc_attr( $data_key ); ?>="<?php echo esc_attr( $data_value . ( substr( $data_value, -1 ) === '-' ? $field['id'] : '' ) ); ?>"
162 <?php } ?>
163 <?php if ( isset( $link['data']['frmshow'] ) ) { ?>
164 data-frmhide=".frm-inline-modal,.default-value-section-<?php echo esc_attr( $field['id'] ); ?>"
165 <?php } ?>
166 >
167 <?php FrmAppHelper::icon_by_class( $link['icon'] ); ?>
168 </a>
169 <?php } ?>
170 </span>
171 <?php } ?>
172 <?php $field_obj->show_default_value_setting( $field, $field_obj, $default_value_types, $display ); ?>
173 <?php do_action( 'frm_default_value_setting', compact( 'field', 'display', 'default_value_types' ) ); ?>
174 </div>
175 <?php
176 }//end if
177 ?>
178
179 <?php $field_obj->show_after_default( compact( 'field', 'display' ) ); ?>
180
181 <?php if ( $display['clear_on_focus'] ) { ?>
182 <p>
183 <label for="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>">
184 <?php esc_html_e( 'Placeholder Text', 'formidable' ); ?>
185 </label>
186 <?php
187 if ( $display['type'] === 'textarea' || $display['type'] === 'rte' ) {
188 ?>
189 <textarea name="field_options[placeholder_<?php echo esc_attr( $field['id'] ); ?>]" id="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>" rows="3" data-changeme="field_<?php echo esc_attr( $field['field_key'] ); ?>" data-changeatt="placeholder"><?php
190 echo FrmAppHelper::esc_textarea( $field['placeholder'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
191 ?></textarea>
192 <?php
193 } else {
194 ?>
195 <input type="text" name="field_options[placeholder_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['placeholder'] ); ?>" id="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>" data-changeme="field_<?php echo esc_attr( $field['field_key'] ); ?>" data-changeatt="placeholder" />
196 <?php
197 }
198 ?>
199 </p>
200 <?php } ?>
201
202 <?php
203 if ( $display['description'] ) {
204 include( FrmAppHelper::plugin_path() . '/classes/views/frm-fields/back-end/field-description.php' );
205 }
206
207 // Field Size
208 if ( $display['size'] && ! in_array( $field['type'], array( 'select', 'data', 'time' ) ) ) {
209 $display_max = $display['max'];
210 include( FrmAppHelper::plugin_path() . '/classes/views/frm-fields/back-end/pixels-wide.php' );
211 }
212 ?>
213
214 <?php if ( $display['show_image'] ) { ?>
215 <p>
216 <label for="frm_show_image_<?php echo esc_attr( $field['id'] ); ?>">
217 <input type="checkbox" id="frm_show_image_<?php echo esc_attr( $field['id'] ); ?>" name="field_options[show_image_<?php echo esc_attr( $field['id'] ); ?>]" value="1" <?php checked( $field['show_image'], 1 ); ?> />
218 <?php esc_html_e( 'If this URL points to an image, show to image on the entries listing page.', 'formidable' ); ?>
219 </label>
220 </p>
221 <?php } ?>
222
223 <?php if ( $display['captcha_size'] && $frm_settings->re_type !== 'invisible' && $frm_settings->active_captcha === 'recaptcha' ) { ?>
224 <p class="frm6 frm_first frm_form_field">
225 <label for="field_options_captcha_size_<?php echo esc_attr( $field['id'] ); ?>" class="frm_help" title="<?php esc_attr_e( 'Set the size of the captcha field. The compact option is best if your form is in a small area.', 'formidable' ); ?>">
226 <?php esc_html_e( 'ReCaptcha Type', 'formidable' ); ?>
227 </label>
228 <select name="field_options[captcha_size_<?php echo esc_attr( $field['id'] ); ?>]" id="field_options_captcha_size_<?php echo esc_attr( $field['id'] ); ?>">
229 <option value="normal" <?php selected( $field['captcha_size'], 'normal' ); ?>>
230 <?php esc_html_e( 'Normal', 'formidable' ); ?>
231 </option>
232 <option value="compact" <?php selected( $field['captcha_size'], 'compact' ); ?>>
233 <?php esc_html_e( 'Compact', 'formidable' ); ?>
234 </option>
235 </select>
236 </p>
237 <p class="frm6 frm_form_field">
238 <label for="captcha_theme_<?php echo esc_attr( $field['field_key'] ); ?>">
239 <?php esc_html_e( 'reCAPTCHA Color', 'formidable' ); ?>
240 </label>
241 <select name="field_options[captcha_theme_<?php echo esc_attr( $field['id'] ); ?>]" id="captcha_theme_<?php echo esc_attr( $field['field_key'] ); ?>">
242 <option value="light" <?php selected( $field['captcha_theme'], 'light' ); ?>>
243 <?php esc_html_e( 'Light', 'formidable' ); ?>
244 </option>
245 <option value="dark" <?php selected( $field['captcha_theme'], 'dark' ); ?>>
246 <?php esc_html_e( 'Dark', 'formidable' ); ?>
247 </option>
248 </select>
249 </p>
250 <?php
251 }//end if
252 ?>
253
254 <?php
255 if ( $display['format'] ) {
256 FrmFieldsController::show_format_option( $field );
257 }
258 ?>
259
260 <?php do_action( 'frm_field_options', compact( 'field', 'display', 'values' ) ); ?>
261
262 <?php if ( $display['required'] ) { ?>
263 <p class="frm6 frm_form_field frm_required_details<?php echo esc_attr( $field['id'] . ( $field['required'] ? '' : ' frm_hidden' ) ); ?>">
264 <label for="field_options_required_indicator_<?php echo esc_attr( $field['id'] ); ?>">
265 <?php esc_html_e( 'Required Field Indicator', 'formidable' ); ?>
266 </label>
267 <input type="text" id="field_options_required_indicator_<?php echo esc_attr( $field['id'] ); ?>" name="field_options[required_indicator_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['required_indicator'] ); ?>" />
268 </p>
269 <?php } ?>
270
271 <?php if ( $display['label_position'] ) { ?>
272 <p class="frm6 frm_form_field">
273 <label for="field_options_label_<?php echo esc_attr( $field['id'] ); ?>"><?php esc_html_e( 'Label Position', 'formidable' ); ?></label>
274 <select id="field_options_label_<?php echo esc_attr( $field['id'] ); ?>" name="field_options[label_<?php echo esc_attr( $field['id'] ); ?>]">
275 <option value="" <?php selected( $field['label'], '' ); ?>>
276 <?php esc_html_e( 'Default', 'formidable' ); ?>
277 </option>
278 <?php
279 foreach ( FrmStylesHelper::get_single_label_positions() as $pos => $pos_label ) {
280 if ( ! $display['clear_on_focus'] && 'inside' === $pos ) {
281 // Don't allow inside labels for fields without placeholders.
282 continue;
283 }
284 ?>
285 <option value="<?php echo esc_attr( $pos ); ?>"<?php selected( $field['label'], $pos ); ?>>
286 <?php echo esc_html( $pos_label ); ?>
287 </option>
288 <?php } ?>
289 <?php if ( $field['type'] === 'divider' ) { ?>
290 <option value="center" <?php selected( $field['label'], 'center' ); ?>>
291 <?php esc_html_e( 'Center', 'formidable' ); ?>
292 </option>
293 <?php } ?>
294 </select>
295 </p>
296 <?php
297 }//end if
298 ?>
299
300 <p class="frm6 frm_form_field">
301 <label for="field_options_field_key_<?php echo esc_attr( $field['id'] ); ?>" class="frm_help" title="<?php esc_attr_e( 'The field key can be used as an alternative to the field ID in many cases.', 'formidable' ); ?>">
302 <?php esc_html_e( 'Field Key', 'formidable' ); ?>
303 </label>
304 <input type="text" name="field_options[field_key_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['field_key'] ); ?>" id="field_options_field_key_<?php echo esc_attr( $field['id'] ); ?>"/>
305 </p>
306
307 <?php if ( count( $field_types ) > 1 ) { ?>
308 <p class="frm6 frm_form_field">
309 <label for="field_options_type_<?php echo esc_attr( $field['id'] ); ?>">
310 <?php esc_html_e( 'Field Type', 'formidable' ); ?>
311 </label>
312 <select name="field_options[type_<?php echo esc_attr( $field['id'] ); ?>]" id="field_options_type_<?php echo esc_attr( $field['id'] ); ?>">
313 <?php foreach ( $field_types as $fkey => $ftype ) { ?>
314 <?php
315 // We need to avoid the word "select" in POST requests.
316 // When "dropdown" is sent as a type value, we'll map it back to "select" with PHP.
317 $type_option_value = 'select' === $fkey ? 'dropdown' : $fkey;
318 ?>
319 <option value="<?php echo esc_attr( $type_option_value ); ?>" <?php echo ( $fkey === $field['type'] ) ? ' selected="selected"' : ''; ?> <?php echo array_key_exists( $fkey, $disabled_fields ) ? 'disabled="disabled"' : ''; ?>>
320 <?php echo esc_html( is_array( $ftype ) ? $ftype['name'] : $ftype ); ?>
321 </option>
322 <?php
323 unset( $fkey, $ftype, $type_option_value );
324 }
325 ?>
326 </select>
327 </p>
328 <?php } else { ?>
329 <input type="hidden" id="field_options_type_<?php echo esc_attr( $field['id'] ); ?>" value="<?php echo esc_attr( $field['type'] ); ?>" />
330 <?php
331 }//end if
332 ?>
333
334 <table class="form-table frm-mt-0">
335 <?php $field_obj->show_options( $field, $display, $values ); ?>
336 <?php do_action( 'frm_field_options_form', $field, $display, $values ); ?>
337 </table>
338 </div>
339
340 <?php if ( $display['required'] || $display['invalid'] || $display['unique'] || $display['conf_field'] ) { ?>
341 <?php
342 $hidden_invalid = FrmField::is_field_type( $field, 'text' ) && ! FrmField::is_option_true( $field, 'format' ) && FrmField::is_option_empty( $field, 'max' );
343 $has_validation = ( ( $display['invalid'] && ! $hidden_invalid ) || $field['required'] || FrmField::is_option_true( $field, 'unique' ) || FrmField::is_option_true( $field, 'conf_field' ) );
344 ?>
345 <div class="frm_validation_msg <?php echo esc_attr( $has_validation ? '' : 'frm_hidden' ); ?>">
346 <h3 class="frm-collapsed" aria-expanded="false" tabindex="0" role="button" aria-label="<?php esc_html_e( 'Collapsible Validation Messages Settings', 'formidable' ); ?>" aria-controls="collapsible-section">
347 <?php esc_html_e( 'Validation Messages', 'formidable' ); ?>
348 <?php FrmAppHelper::icon_by_class( 'frmfont frm_arrowdown6_icon', array( 'aria-hidden' => 'true' ) ); ?>
349 </h3>
350
351 <div class="frm_validation_box frm-collapse-me" role="group">
352 <?php if ( $display['required'] ) { ?>
353 <p class="frm_required_details<?php echo esc_attr( $field['id'] . ( $field['required'] ? '' : ' frm_hidden' ) ); ?>">
354 <label for="field_options_blank_<?php echo esc_attr( $field['id'] ); ?>">
355 <?php esc_html_e( 'Required', 'formidable' ); ?>
356 </label>
357 <input type="text" name="field_options[blank_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['blank'] ); ?>" id="field_options_blank_<?php echo esc_attr( $field['id'] ); ?>"/>
358 </p>
359 <?php } ?>
360
361 <?php if ( $display['invalid'] ) { ?>
362 <p class="frm_invalid_msg<?php echo esc_attr( $field['id'] . ( $hidden_invalid ? ' frm_hidden' : '' ) ); ?>">
363 <label for="field_options_invalid_<?php echo esc_attr( $field['id'] ); ?>">
364 <?php esc_html_e( 'Invalid Format', 'formidable' ); ?>
365 </label>
366 <input type="text" name="field_options[invalid_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['invalid'] ); ?>" id="field_options_invalid_<?php echo esc_attr( $field['id'] ); ?>"/>
367 </p>
368 <?php
369 }
370
371 if ( $display['unique'] ) {
372 ?>
373 <p class="frm_unique_details<?php echo esc_attr( $field['id'] . ( $field['unique'] ? '' : ' frm_hidden' ) ); ?>">
374 <label for="field_options_unique_msg_<?php echo esc_attr( $field['id'] ); ?>">
375 <?php esc_html_e( 'Unique', 'formidable' ); ?>
376 </label>
377 <input type="text" name="field_options[unique_msg_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['unique_msg'] ); ?>" id="field_options_unique_msg_<?php echo esc_attr( $field['id'] ); ?>" />
378 </p>
379 <?php
380 }
381
382 if ( $display['conf_field'] ) {
383 ?>
384 <p class="frm_conf_details<?php echo esc_attr( $field['id'] . ( $field['conf_field'] ? '' : ' frm_hidden' ) ); ?>">
385 <label for="field_options_conf_msg_<?php echo esc_attr( $field['id'] ); ?>">
386 <?php esc_html_e( 'Confirmation', 'formidable' ); ?>
387 </label>
388 <input type="text" name="field_options[conf_msg_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['conf_msg'] ); ?>" id="field_options_conf_msg_<?php echo esc_attr( $field['id'] ); ?>" />
389 </p>
390 <?php
391 }
392 ?>
393 </div>
394 </div>
395 <?php
396 }//end if
397 ?>
398
399 <?php do_action( 'frm_after_field_options', compact( 'field', 'display', 'values' ) ); ?>
400
401 <?php if ( $display['conf_field'] ) { ?>
402 <input type="hidden" name="field_options[conf_desc_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['conf_desc'] ); ?>" />
403 <?php } ?>
404 </div>
405