PluginProbe
Repeater Fields for Gravity Forms / 3.2.3
Repeater Fields for Gravity Forms v3.2.3
3.2.3 3.2.2 3.2.1 3.2.0 3.1.1 3.1.0 3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 2.5.1 2.5.0 2.4.6 trunk 2.0.5 2.0.9 2.1.0 2.3.2 2.3.7 2.4.1 2.4.3 2.4.4 2.4.5
repeater-for-gravity-forms / fields / repeater_start_field.php

repeater_start_field.php in Repeater Fields for Gravity Forms 3.2.3, at fields/repeater_start_field.php

197 lines 6.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // If Gravity Forms isn't loaded, bail.
3 if ( ! class_exists( 'GFForms' ) ) {
4 die();
5 }
6 /**
7 * Class GF_Field_Phone
8 *
9 * Handles the behavior of Phone fields.
10 *
11 * @since Unknown
12 */
13 class Superaddons_GFRepeater_Start_Field extends GF_Field {
14 /**
15 * Defines the field type.
16 *
17 * @since Unknown
18 * @access public
19 *
20 * @var string The field type.
21 */
22 public $type = 'repeater_start';
23 /**
24 * Defines the field title to be used in the form editor.
25 *
26 * @since Unknown
27 * @access public
28 *
29 * @used-by GFCommon::get_field_type_title()
30 *
31 * @return string The field title. Translatable and escaped.
32 */
33 public function get_form_editor_field_title() {
34 return esc_attr__('Repeater Start', 'repeater-for-gravity-forms' );
35 }
36 public function get_form_editor_button() {
37 return array(
38 'group' => 'advanced_fields',
39 'text' => $this->get_form_editor_field_title()
40 );
41 }
42 /**
43 * Defines the field settings available within the field editor.
44 *
45 * @since Unknown
46 * @access public
47 *
48 * @return array The field settings available for the field.
49 */
50 function get_form_editor_field_settings() {
51 return array(
52 'prepopulate_field_setting',
53 'label_setting',
54 'field_field_repeater_title_setting',
55 'css_class_setting',
56 );
57 }
58 /**
59 * Defines if conditional logic is supported in this field type.
60 *
61 * @since Unknown
62 * @access public
63 *
64 * @used-by GFFormDetail::inline_scripts()
65 * @used-by GFFormSettings::output_field_scripts()
66 *
67 * @return bool true
68 */
69 public function is_conditional_logic_supported() {
70 return true;
71 }
72 /**
73 * Returns the field input.
74 *
75 * @since Unknown
76 * @access public
77 *
78 * @used-by GFCommon::get_field_input()
79 * @uses GF_Field::is_entry_detail()
80 * @uses GF_Field::is_form_editor()
81 * @uses GF_Field_Phone::$failed_validation
82 * @uses GF_Field_Phone::get_phone_format()
83 * @uses GFFormsModel::is_html5_enabled()
84 * @uses GF_Field::get_field_placeholder_attribute()
85 * @uses GF_Field_Phone::$isRequired
86 * @uses GF_Field::get_tabindex()
87 *
88 * @param array $form The Form Object.
89 * @param string $value The value of the input. Defaults to empty string.
90 * @param null|array $entry The Entry Object. Defaults to null.
91 *
92 * @return string The HTML markup for the field.
93 */
94 public function get_field_input( $form, $value = '', $entry = null ) {
95 if ( is_array( $value ) ) {
96 $value = '';
97 }
98 $is_entry_detail = $this->is_entry_detail();
99 $is_form_editor = $this->is_form_editor();
100 $form_id = $form['id'];
101 $id = intval( $this->id );
102 $field_id = $is_entry_detail || $is_form_editor || $form_id == 0 ? "input_$id" : 'input_' . $form_id . "_$id";
103 $size = $this->size;
104 $disabled_text = $is_form_editor ? "disabled='disabled'" : '';
105 $class_suffix = $is_entry_detail ? '_admin' : '';
106 $class = $size . $class_suffix. " hidden";
107 $class = esc_attr( $class );
108 $repeater_title = $this->repeater_title;
109 $text_input = '<div class="repeater-field-header">
110 <div class="repeater-field-header-title">'.$repeater_title." ";
111 $text_input .= '<span class="repeater-field-header-count">1</span>';
112 $text_input .= '</div>
113 <div class="repeater-field-header-acctions">
114 <ul>
115 <li><i class="repeater-icon icon-down-open repeater-field-header-acctions-toogle" aria-hidden="true"></i></li>
116 <li><i class="repeater-icon icon-cancel-1 repeater-field-header-acctions-remove" aria-hidden="true"></i></li>
117 </ul>
118 </div>
119 </div>';
120 $text_input = htmlentities($text_input);
121 $html = '<div class="wpforms-field-repeater-start">
122 <input type="hidden" class="repeater-field-header-data hidden" value="'.$text_input.'" />
123 </div>';
124
125 if (is_admin()) {
126 $html = '<hr>Begin Repeater<hr>';
127 return sprintf( "<div class='ginput_container1'>%s</div>", $html);
128 }else{
129 return sprintf( "<div class='ginput_container ginput_container_text'> %s </div>", $html);
130 }
131 }
132 /**
133 * Gets the value of the submitted field.
134 *
135 * @since Unknown
136 * @access public
137 *
138 * @used-by GFFormsModel::get_field_value()
139 * @uses GF_Field::get_value_submission()
140 * @uses GF_Field_Phone::sanitize_entry_value()
141 *
142 * @param array $field_values The dynamic population parameter names with their corresponding values to be populated.
143 * @param bool $get_from_post_global_var Whether to get the value from the $_POST array as opposed to $field_values. Defaults to true.
144 *
145 * @return array|string
146 */
147 public function get_value_submission( $field_values, $get_from_post_global_var = true ) {
148 return false;
149 }
150 /**
151 * Sanitizes the entry value.
152 *
153 * @since Unknown
154 * @access public
155 *
156 * @used-by GF_Field_Phone::get_value_save_entry()
157 * @used-by GF_Field_Phone::get_value_submission()
158 *
159 * @param string $value The value to be sanitized.
160 * @param int $form_id The form ID of the submitted item.
161 *
162 * @return string The sanitized value.
163 */
164 public function sanitize_entry_value( $value, $form_id ) {
165 return false;
166 }
167 /**
168 * Gets the field value when an entry is being saved.
169 *
170 * @since Unknown
171 * @access public
172 *
173 * @used-by GFFormsModel::prepare_value()
174 * @uses GF_Field_Phone::sanitize_entry_value()
175 * @uses GF_Field_Phone::$phoneFormat
176 *
177 * @param string $value The input value.
178 * @param array $form The Form Object.
179 * @param string $input_name The input name.
180 * @param int $lead_id The Entry ID.
181 * @param array $lead The Entry Object.
182 *
183 * @return string The field value.
184 */
185 public function get_value_save_entry( $value, $form, $input_name, $lead_id, $lead ) {
186 return false;
187 }
188 public function get_value_entry_list( $value, $entry, $field_id, $columns, $form ) {
189 return false;
190 }
191 public function get_value_entry_detail( $value, $currency = '', $use_text = false, $format = 'html', $media = 'screen' ) {
192 return false;
193 }
194 }
195 // Register the phone field with the field framework.
196 GF_Fields::register( new Superaddons_GFRepeater_Start_Field() );
197