PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 1.4
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v1.4
3.3.1 V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 All 138 releases
bit-form / includes / Admin / Form / CustomFieldHandler.php

CustomFieldHandler.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 1.4, at includes/Admin/Form/CustomFieldHandler.php

190 lines 6.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Handle Form Create,Update,delete Operation
5 *
6 */
7
8 namespace BitCode\BitForm\Admin\Form;
9
10
11 class CustomFieldHandler
12 {
13 public function updatedEntries($formEntries, $fieldDetails)
14 {
15 foreach ($formEntries['entries'] as $index => $entry) {
16 foreach ($fieldDetails as $field) {
17 $fieldKey = $field['key'];
18 if (isset($field['customType']) && !empty($entry->$fieldKey) && !empty($field['customType']->hiddenValue)) {
19 $hiddenvalue = $field['customType']->hiddenValue;
20 if ($field['customType']->fieldType == 'taxanomy_field') {
21 $hiddenvalue = $field['customType']->hiddenValue;
22 if (isset($field['mul'])) $mul = $field['mul'];
23 else $mul = '';
24 $value = $this->getTermFieldValue($field['type'], $entry->$fieldKey, $mul, $hiddenvalue);
25 $formEntries['entries'][$index]->$fieldKey = $value;
26 } else if ($field['customType']->fieldType == "user_field") {
27 $hiddenvalue = $field['customType']->hiddenValue;
28 if (isset($field['mul'])) $mul = $field['mul'];
29 else $mul = '';
30 $value = $this->getUserFieldValue($field['type'], $entry->$fieldKey, $mul, $hiddenvalue);
31 $formEntries['entries'][$index]->$fieldKey = $value;
32 } else if ($field['customType']->fieldType == "post_field") {
33 $hiddenvalue = $field['customType']->hiddenValue;
34 if (isset($field['mul'])) $mul = $field['mul'];
35 else $mul = '';
36 $value = $this->getPostFieldValue($field['type'], $entry->$fieldKey, $mul, $hiddenvalue);
37 $formEntries['entries'][$index]->$fieldKey = $value;
38 }
39 }
40 }
41 }
42 return $formEntries;
43 }
44
45 public function updatedData($form_fields, $toUpdateValues)
46 {
47 foreach ($form_fields as $field) {
48 if (isset($field['customType']) && !empty($toUpdateValues[$field['key']])) {
49 if (isset($field['customType']->hiddenValue)) {
50 $hiddenvalue = $field['customType']->hiddenValue;
51 if ($field['customType']->fieldType == 'taxanomy_field') {
52 if (isset($field['mul'])) $mul = $field['mul'];
53 else $mul = '';
54 $value = $this->getTermFieldValue($field['type'], $toUpdateValues[$field['key']], $mul, $hiddenvalue);
55 $toUpdateValues[$field['key']] = $value;
56 } else if ($field['customType']->fieldType == "user_field") {
57 if (isset($field['mul'])) $mul = $field['mul'];
58 else $mul = '';
59 $value = $this->getUserFieldValue($field['type'], $toUpdateValues[$field['key']], $mul, $hiddenvalue);
60 $toUpdateValues[$field['key']] = $value;
61 } else if ($field['customType']->fieldType == "post_field") {
62 if (isset($field['mul'])) $mul = $field['mul'];
63 else $mul = '';
64 $value = $this->getPostFieldValue($field['type'], $toUpdateValues[$field['key']], $mul, $hiddenvalue);
65 $toUpdateValues[$field['key']] = $value;
66 }
67 }
68 }
69 }
70 return $toUpdateValues;
71 }
72
73 public function getPostFieldValue($type, $fieldValue, $mul, $hiddenvalue)
74 {
75 $value = '';
76 if ($type == "select") {
77 if ($mul == true) {
78 $multipleValue = [];
79 foreach (explode(',', $fieldValue) as $val) {
80 $exists = get_post($val);
81 if ($exists != false) {
82 $multipleValue[] = $exists->$hiddenvalue;
83 }
84 }
85 $value = implode(",", $multipleValue);
86 } else {
87 $exists = get_post($fieldValue);
88 if ($exists != false) {
89 $value = is_array($exists->$hiddenvalue) ? $exists->$hiddenvalue : (string) $exists->$hiddenvalue;
90 }
91 }
92 } else if ($type == "radio" || $type == "check") {
93 if (is_array(json_decode($fieldValue))) {
94 $multipleValues = [];
95 foreach (json_decode($fieldValue) as $value) {
96 $exists = get_post($value);
97 if ($exists != false) {
98 $multipleValues[] = $exists->$hiddenvalue;
99 }
100 }
101 $value = json_encode($multipleValues);
102 } else {
103 $exists = get_post($fieldValue);
104 if ($exists != false) {
105 $value = $exists->$hiddenvalue;
106 }
107 }
108 }
109 return $value;
110 }
111
112 public function getUserFieldValue($type, $fieldValue, $mul, $hiddenvalue)
113 {
114 $value = '';
115 if ($type == "select") {
116 if ($mul == true) {
117 $multipleValue = [];
118 foreach (explode(',', $fieldValue) as $val) {
119 $exists = get_user_by('ID', $val);
120 if ($exists != false) {
121 $multipleValue[] = $exists->data->$hiddenvalue;
122 }
123 }
124 $value = implode(",", $multipleValue);
125 } else {
126 $exists = get_user_by('ID', $fieldValue);
127 if ($exists != false) {
128 $value = is_array($exists->data->$hiddenvalue) ? $exists->data->$hiddenvalue : (string) $exists->data->$hiddenvalue;
129 }
130 }
131 } else if ($type == "radio" || $type == "check") {
132 if (is_array(json_decode($fieldValue))) {
133 $multipleValues = [];
134 foreach (json_decode($fieldValue) as $value) {
135 $exists = get_user_by('ID', $value);
136 if ($exists != false) {
137 $multipleValues[] = $exists->data->$hiddenvalue;
138 }
139 }
140 $value = json_encode($multipleValues);
141 } else {
142 $exists = get_user_by('ID', $fieldValue);
143 if ($exists != false) {
144 $value = $exists->data->$hiddenvalue;
145 }
146 }
147 }
148 return $value;
149 }
150
151 public function getTermFieldValue($type, $fieldValue, $mul, $hiddenvalue)
152 {
153 $value = '';
154 if ($type == "select") {
155 if ($mul == true) {
156 $multipleValue = [];
157 foreach (explode(',', $fieldValue) as $val) {
158 $exists = get_term_by('term_taxonomy_id', $val);
159 if ($exists != false) {
160 $multipleValue[] = $exists->$hiddenvalue;
161 }
162 }
163 $value = implode(",", $multipleValue);
164 } else {
165 $exists = get_term_by('term_taxonomy_id', $fieldValue);
166 if ($exists != false) {
167 $value = is_array($exists->$hiddenvalue) ? $exists->$hiddenvalue : (string) $exists->$hiddenvalue;
168 }
169 }
170 } else if ($type == "radio" || $type == "check") {
171 if (is_array(json_decode($fieldValue))) {
172 $multipleValues = [];
173 foreach (json_decode($fieldValue) as $value) {
174 $exists = get_term_by('term_taxonomy_id', $value);
175 if ($exists != false) {
176 $multipleValues[] = $exists->$hiddenvalue;
177 }
178 }
179 $value = json_encode($multipleValues);
180 } else {
181 $exists = get_term_by('term_taxonomy_id', $fieldValue);
182 if ($exists != false) {
183 $value = $exists->$hiddenvalue;
184 }
185 }
186 }
187 return $value;
188 }
189 }
190