PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / trunk
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More vtrunk
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 / combo-field / sub-field-options.php

sub-field-options.php in Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More trunk, at classes/views/frm-fields/back-end/combo-field/sub-field-options.php

142 lines 5.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Sub field options
4 *
5 * @package Formidable
6 *
7 * @since 4.10.02
8 *
9 * @var FrmFieldCombo $this Field type object.
10 * @var array $field Field array.
11 * @var array $sub_field Sub field array.
12 * @var array $default_value Default value of all sub fields.
13 * @var array $wrapper_classes CSS classes of wrapper element of subfield options.
14 */
15
16 if ( ! defined( 'ABSPATH' ) ) {
17 die( 'You are not allowed to call this page directly.' );
18 }
19
20 $field_id = $field['id'];
21 $field_key = $field['field_key'];
22 $uniq_str = $sub_field['name'] . '_' . $field_id;
23 $labels = $this->get_built_in_option_labels();
24 ?>
25 <div
26 class="<?php echo esc_attr( $wrapper_classes ); ?>"
27 data-sub-field-name="<?php echo esc_attr( $sub_field['name'] ); ?>"
28 data-field-id="<?php echo intval( $field_id ); ?>"
29 >
30 <h4 id="<?php echo esc_attr( $uniq_str ); ?>" class="frm_primary_label frm-font-semibold frm-text-grey-600 frm-mt-xs frm-mb-xs">
31 <?php echo esc_html( $sub_field['label'] ); ?>
32 </h4>
33
34 <?php
35 // Loop through $sub_field['options'] to show options.
36 foreach ( $sub_field['options'] as $option ) {
37 switch ( $option ) {
38 case 'default_value':
39 $input_name = sprintf( '%1$s_%2$s[%3$s]', $option, $field_id, $sub_field['name'] );
40 $input_id = $option . '_' . $uniq_str;
41 ?>
42 <p class="frm6 frm_form_field">
43 <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>">
44 <?php echo esc_html( $labels[ $option ] ); ?>
45 </label>
46 <?php
47 if ( isset( $sub_field['type'] ) && 'select' === $sub_field['type'] && isset( $sub_field['options'] ) ) {
48 ?>
49 <select
50 name="<?php echo esc_attr( $input_name ); ?>"
51 id="<?php echo esc_attr( $input_id ); ?>"
52 data-changeme="field_<?php echo esc_attr( $field_key . '_' . $sub_field['name'] ); ?>"
53 data-changeatt="value"
54 >
55 <option value=""><?php esc_html_e( '&mdash; Select &mdash;', 'formidable' ); ?></option>
56 <?php
57 foreach ( $sub_field['options'] as $opt_value => $opt_label ) {
58 $selected = isset( $default_value[ $sub_field['name'] ] ) && $default_value[ $sub_field['name'] ] === $opt_value ? 'selected' : '';
59 ?>
60 <option value="<?php echo esc_attr( $opt_value ); ?>" <?php echo esc_attr( $selected ); ?>>
61 <?php echo esc_html( $opt_label ); ?>
62 </option>
63 <?php
64 }
65 ?>
66 </select>
67 <?php
68 } else {
69 ?>
70 <span class="frm-with-right-icon">
71 <input
72 type="text"
73 name="<?php echo esc_attr( $input_name ); ?>"
74 id="<?php echo esc_attr( $input_id ); ?>"
75 value="<?php echo esc_attr( $default_value[ $sub_field['name'] ] ?? '' ); ?>"
76 data-changeme="field_<?php echo esc_attr( $field_key . '_' . $sub_field['name'] ); ?>"
77 data-changeatt="value"
78 />
79 <?php
80 FrmAppHelper::icon_by_class(
81 'frmfont frm_more_horiz_solid_icon frm-show-inline-modal frm-input-icon',
82 array(
83 'data-open' => 'frm-smart-values-box',
84 'tabindex' => '0',
85 )
86 );
87 ?>
88 </span>
89 <?php
90 }//end if
91 ?>
92 </p>
93 <?php
94 break;
95
96 // All simple text options with live update the form output can go here.
97 case 'placeholder':
98 $input_name = sprintf( 'field_options[%1$s_%2$s][%3$s]', $option, $field_id, $sub_field['name'] );
99 $input_id = 'field_options_' . $option . '_' . $uniq_str;
100 $input_value = FrmField::get_option( $field, $option );
101 ?>
102 <p class="frm6 frm_form_field">
103 <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>">
104 <?php echo esc_html( $labels[ $option ] ); ?>
105 </label>
106 <input
107 type="text"
108 name="<?php echo esc_attr( $input_name ); ?>"
109 id="<?php echo esc_attr( $input_id ); ?>"
110 value="<?php echo esc_attr( $input_value[ $sub_field['name'] ] ?? '' ); ?>"
111 data-changeme="field_<?php echo esc_attr( $field_key . '_' . $sub_field['name'] ); ?>"
112 data-changeatt="<?php echo esc_attr( $option ); ?>"
113 />
114 </p>
115 <?php
116 break;
117
118 // All simple text options without live update the form output can go here.
119 case 'desc':
120 $input_name = sprintf( 'field_options[%1$s_%2$s_%3$s]', $sub_field['name'], $option, $field_id );
121 $input_id = 'field_options_' . $option . '_' . $uniq_str;
122 $input_value = FrmField::get_option( $field, $sub_field['name'] . '_' . $option );
123 ?>
124 <p class="frm_form_field frm-flex-col">
125 <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>">
126 <?php echo esc_html( $labels[ $option ] ); ?>
127 </label>
128 <textarea
129 name="<?php echo esc_attr( $input_name ); ?>"
130 id="<?php echo esc_attr( $input_id ); ?>"
131 data-changeme="frm_field_<?php echo esc_attr( $field_id . '_' . $sub_field['name'] ); ?>_desc"
132 rows="2"
133 ><?php echo esc_html( $input_value ); ?></textarea>
134 </p>
135 <?php
136 break;
137 }//end switch
138 }//end foreach
139 ?>
140 <div class="frm12"></div>
141 </div><!-- End .frm_sub_field_options -->
142