PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.7.0
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.7.0
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 2.10.2 All 137 releases
← All changes | includes/API/Controller/EntryController.php +38 -519 1.22.7.0 View file →
@@ -1,537 +1,56 @@
1 1 <?php
2 2
3 3 namespace BitCode\BitForm\API\Controller;
4 4
5 +use BitCode\BitForm\Core\Database\FormModel;
5 6 use WP_Error;
6 7 use WP_REST_Controller;
7 -use BitCode\BitForm\Core\Util\IpTool;
8 -use BitCode\BitForm\Core\Util\FileHandler;
9 -use BitCode\BitForm\Core\Database\ApiModel;
10 -use BitCode\BitForm\Core\Database\FormModel;
11 -use BitCode\BitForm\Admin\Form\AdminFormManager;
12 -use BitCode\BitForm\Core\Database\FormEntryModel;
13 -use BitCode\BitForm\Core\Database\FormEntryLogModel;
14 -use BitCode\BitForm\Core\WorkFlow\WorkFlowRunHelper;
15 -use BitCode\BitForm\Core\Database\FormEntryMetaModel;
16 -use BitCode\BitForm\Core\Form\Validator\FormFieldValidator;
8 +use WP_REST_Request;
17 9
18 10 class EntryController extends WP_REST_Controller
19 11 {
20 - protected static $form;
21 - protected $formModel;
22 - protected $form_id;
23 - private $_has_upload;
24 - private $_field_label;
25 - private $_fields;
12 + protected static $form;
13 + protected $formModel;
14 + protected $form_id;
26 15
27 - function __construct()
28 - {
29 - $this->formModel = new FormModel();
30 - }
16 + public function __construct()
17 + {
18 + $this->formModel = new FormModel();
19 + }
31 20
32 - public function form_content($formID)
33 - {
34 - $form = $this->formModel->get(
35 - [
36 - "id",
37 - "form_content",
38 - "form_name",
39 - 'created_at',
40 - 'views',
41 - 'entries',
42 - 'status'
43 - ],
44 - array(
45 - 'id' => $formID
46 - )
47 - );
48 - return $form;
21 + public function googleAuth()
22 + {
23 + $state = $_GET['state'];
24 + $code = urlencode($_GET['code']);
25 + // echo $code;
26 + if (wp_redirect($state . '&code=' . $code, 302)) {
27 + exit;
49 28 }
29 + }
50 30
51 - public function get_forms()
52 - {
53 - $db = new ApiModel();
54 - $forms = $db->getForm();
55 - if (count($forms) > 0) {
56 - return rest_ensure_response(['forms' => $forms, 'status' => 200, 'code' => 4000, 'success' => true]);
57 - } else {
58 - return rest_ensure_response(['forms' => [], 'status' => 200, 'code' => 3910, 'message' => 'No forms available.', 'success' => true]);
59 - }
31 + public function oneDriveAuth()
32 + {
33 + $state = $_GET['state'];
34 + $code = urlencode($_GET['code']);
35 + // echo $code;
36 + if (wp_redirect($state . '&code=' . $code, 302)) {
37 + exit;
60 38 }
39 + }
61 40
62 - public function get_fields($request)
63 - {
64 - if (!empty($request['form_id'])) {
65 - $formManager = new AdminFormManager($request['form_id']);
66 - if (!$formManager->isExist()) {
67 - $error = ['message' => 'No Form with ID "<form_id>".', 'code' => '3200'];
68 - wp_send_json_error($error, 404);
69 - }
70 - $db = new ApiModel();
71 - $fields = $db->getField($request['form_id']);
72 - $workFlows = $db->getWorkFlow($request['form_id']);
73 - $fieldsKey = $formManager->getFieldsKey();
74 - if (!empty($fields)) {
75 - $filedsData = json_decode($fields[0]->form_content);
76 - $data = ['fields' => $filedsData->fields, 'fieldkeys' => $fieldsKey, 'workflows' => $workFlows, 'workflow_key_name' => 'workflow'];
77 - return rest_ensure_response(['fields' => $data, 'status' => 200, 'code' => 4000, 'success' => true]);
78 - } else {
79 - return rest_ensure_response(['fields' => [], 'status' => 200, 'code' => 3920, 'message' => 'No fields available', 'success' => true]);
80 - }
81 - }
41 + public function authRedirect(WP_REST_Request $request)
42 + {
43 + $state = $request->get_param('state');
44 + $parsed_url = parse_url(get_site_url());
45 + $site_url = $parsed_url['scheme'] . '://' . $parsed_url['host'];
46 + $site_url .= empty($parsed_url['port']) ? null : ':' . $parsed_url['port'];
47 + if (false === strpos($state, $site_url)) {
48 + return new WP_Error('404');
82 49 }
83 -
84 - private function fieldSanitize($form_fields, $data, $files)
85 - {
86 - $submitted_data = [];
87 - $fieldError = [];
88 - foreach ($form_fields as $key => $field) {
89 - if (array_key_exists($field['key'], $data)) {
90 - $submitted_data[$field['key']] = sanitize_text_field($data[$field['key']]);
91 - } else if (array_key_exists($field['key'], $files)) {
92 - } else if (!array_key_exists($field['key'], $data) || !array_key_exists($field['key'], $files)) {
93 - $fieldError[$key] = $field['key'] . " field key is must be given";
94 - }
95 - }
96 - if (!empty($fieldError)) {
97 - $data = ['error' => $fieldError, 'code' => '3030'];
98 - wp_send_json_error($data, 400);
99 - }
100 - return $submitted_data;
50 + $params = $request->get_params();
51 + unset($params['rest_route'], $params['state']);
52 + if (wp_redirect($state . '&' . http_build_query($params), 302)) {
53 + exit;
101 54 }
102 - public function entry_store($request)
103 - {
104 - $formID = $request['form_id'];
105 - $formManager = new AdminFormManager($request['form_id']);
106 - if (!$formManager->isExist()) {
107 - $data = ['message' => 'No Form with ID "<form_id>"', 'code' => '3200'];
108 - wp_send_json_error($data, 400);
109 - }
110 - $formEntryModel = new FormEntryModel();
111 - $ipTool = new IpTool();
112 - $user_details = $ipTool->getUserDetail();
113 - $entryMeta = new FormEntryMetaModel();
114 - $form_fields = $this->getFields($formID);
115 - $submitted_data = $this->fieldSanitize($form_fields, $_POST, $_FILES);
116 - $formFieldValidator = new FormFieldValidator($form_fields, $submitted_data, $_FILES);
117 - $validateField = $formFieldValidator->validate('create', $formID);
118 - if (!$validateField) {
119 - $errorMessage = count($formFieldValidator->getMessage()) > 0 ?
120 - $formFieldValidator->getMessage() : __("Internal error occured!!!", 'bitform');
121 - $error = ['errors' => $errorMessage, 'code' => '3070'];
122 - wp_send_json_error($error, 422);
123 - }
124 - $entry_id = $formEntryModel->insert(
125 - array(
126 - 'form_id' => $formID,
127 - 'user_id' => $user_details['id'],
128 - 'user_ip' => $user_details['ip'],
129 - 'user_device' => $user_details['device'],
130 - 'referer' => $user_details['page'],
131 - 'status' => 0,
132 - 'created_at' => $user_details['time']
133 - )
134 - );
135 - $submitted_fields = $this->getFormContentWithValue($submitted_data, $formID)->fields;
136 - $formManageer = new AdminFormManager($formID);
137 - $file_fields = $formManageer->getUploadFields($formID);
138 - $fileHandler = new FileHandler;
139 - $workFlowRunHelper = new WorkFlowRunHelper($formID);
140 - if (isset($_POST['workflow'])) {
141 - $workFlowIds = is_array($_POST['workflow']) ? implode(",", $_POST['workflow']) : $_POST['workflow'];
142 - $workFlowreturnedOnSubmit = $workFlowRunHelper->executeOnSubmit(
143 - 'create',
144 - $submitted_fields,
145 - $submitted_data,
146 - $entry_id,
147 - null,
148 - $workFlowIds
149 - );
150 - unset($workFlowreturnedOnSubmit['data']);
151 - }
152 - if (!empty($workFlowreturnedOnSubmit['fields'])) {
153 - $submitted_data = $workFlowreturnedOnSubmit['fields'];
154 - unset($workFlowreturnedOnSubmit['fields']);
155 - }
156 - unset($submitted_data['workflow']);
157 - foreach ($_FILES as $file_name => $file_details) {
158 - if ($file_fields && in_array($file_name, $file_fields)) {
159 - $filePath = $fileHandler->moveUploadedFiles($file_details, $formID, $entry_id);
160 - if (!empty($filePath)) {
161 - $submitted_data[$file_name] = $filePath;
162 - }
163 - }
164 - }
165 - foreach ($submitted_data as $key => $value) {
166 - $entryMeta->insert(
167 - array(
168 - 'bitforms_form_entry_id' => $entry_id,
169 - 'meta_key' => $key,
170 - 'meta_value' => is_string($submitted_data[$key]) ?
171 - $submitted_data[$key] :
172 - wp_json_encode($submitted_data[$key])
173 - )
174 - );
175 - }
176 - return rest_ensure_response(['status' => 200, 'code' => 4000, 'message' => 'Data Added Successfully!!', 'success' => true]);
177 - }
178 -
179 - public function getFormContentWithValue($defaultValues, $formID)
180 - {
181 - $form_content = \json_decode($this->form_content($formID)[0]->form_content);
182 - if (!is_array($defaultValues)) {
183 - return $form_content;
184 - }
185 - foreach ($form_content->fields as $fieldKey => $fieldDetails) {
186 - // $field_name = empty($fieldDetails->lbl) ? null : \preg_replace('/[\`\~\!\@\#\$\'\.\s\?\+\-\*\&\|\/\\!]/', '_', $fieldDetails->lbl);
187 - if ((isset($fieldDetails->mul) || $fieldDetails->typ === 'check') && isset($defaultValues[$fieldKey])) {
188 - if (is_array($defaultValues[$fieldKey])) {
189 - $fieldDetails->val =
190 - wp_json_encode(
191 - array_map('sanitize_text_field', $defaultValues[$fieldKey])
192 - );
193 - } else {
194 - $fieldDetails->val = sanitize_text_field($defaultValues[$fieldKey]);
195 - }
196 - } elseif (isset($defaultValues[$fieldKey])) {
197 - $fieldDetails->val = is_string($defaultValues[$fieldKey]) ?
198 - sanitize_text_field($defaultValues[$fieldKey]) :
199 - sanitize_text_field($defaultValues[$fieldKey][count($defaultValues[$fieldKey]) - 1]);
200 - }
201 - }
202 - return $form_content;
203 - }
204 -
205 - public function getFields($formID)
206 - {
207 - if (!is_null($this->_fields)) {
208 - return $this->_fields;
209 - }
210 - $form_content = \json_decode($this->form_content($formID)[0]->form_content);
211 - $layout = $form_content->layout;
212 - $fields = $form_content->fields;
213 - $field_details = array();
214 - foreach ($fields as $key => $field) {
215 - if ($field->typ === 'recaptcha') {
216 - continue;
217 - }
218 - $field_type = $field->typ;
219 - $field_details[$key]['label'] = empty($field->lbl) ? null : $field->lbl;
220 - $field_details[$key]['type'] = $field_type;
221 - $field_details[$key]['key'] = $key;
222 - if (isset($field->mul)) {
223 - $field_details[$key]['mul'] = $field->mul;
224 - }
225 - if ($field_type === 'file-up' && isset($field->exts)) {
226 - $field_details[$key]['valid']['type'] = $field->exts;
227 - }
228 - if (isset($field->valid) && !is_null($field->valid)) {
229 - if (isset($field->valid->req)) {
230 - $field_details[$key]['valid']['req'] = $field->valid->req;
231 - }
232 - if (isset($field->valid->reqMsg)) {
233 - $field_details[$key]['valid']['reqMsg'] = $field->valid->reqMsg;
234 - }
235 - if (isset($field->valid->typMsg)) {
236 - $field_details[$key]['valid']['typMsg'] = $field->valid->typMsg;
237 - }
238 - }
239 - }
240 - $this->_fields = $field_details;
241 - return $field_details;
242 - }
243 -
244 - public function entry_update($request)
245 - {
246 - $formEntryModel = new FormEntryModel();
247 - $entryID = $request['entry_id'];
248 - $apiModel = new ApiModel();
249 - $forms = $apiModel->getFormId($entryID);
250 - if ($forms === []) {
251 - $data = ['message' => 'No record with ID "<entry_id>".', 'code' => '3100'];
252 - wp_send_json_error($data, 404);
253 - }
254 - $formID = $forms[0]->form_id;
255 - $formEntryLogModel = new FormEntryLogModel();
256 - $apiModel = new ApiModel();
257 - $formOldData = $apiModel->get_form_value($entryID);
258 - $key = null;
259 - $entryMeta = new FormEntryMetaModel();
260 - $ipTool = new IpTool();
261 - $user_details = $ipTool->getUserDetail();
262 - $form_fields = $this->getFields($formID);
263 - $field_map = [];
264 - foreach ($formOldData as $index => $data) {
265 - foreach ($form_fields as $field_key => $field) {
266 - if ($data->meta_key == $field['key']) {
267 - $field_map[$field_key] = $field['key'];
268 - }
269 - }
270 - }
271 - $updatedValue = $this->fieldSanitize($form_fields, $_POST, $_FILES);
272 - $formFieldValidator = new FormFieldValidator($form_fields, $updatedValue, $_FILES);
273 - $validateField = $formFieldValidator->validate('edit', $formID);
274 - if (!$validateField) {
275 - $errorMessage = count($formFieldValidator->getMessage()) > 0 ?
276 - $formFieldValidator->getMessage() : __("Internal error occured !!!", 'bitform');
277 - $error = ['errors' => $errorMessage, 'code' => '3070'];
278 - wp_send_json_error($error, 422);
279 - }
280 - $formEntry = $formEntryModel->update(
281 - array(
282 - "user_id" => $user_details['id'],
283 - "user_ip" => $user_details['ip'],
284 - "user_device" => $user_details['device'],
285 - "status" => 0,
286 - "updated_at" => $user_details['time']
287 - ),
288 - array(
289 - 'form_id' => $formID,
290 - 'id' => $entryID
291 - )
292 - );
293 - $log_id = null;
294 - if ($formEntry) {
295 - $log_id = $formEntryLogModel->form_log_insert(
296 - array(
297 - "user_id" => $user_details['id'],
298 - "action_type" => "update",
299 - "log_type" => "entry",
300 - "ip" => $user_details['ip'],
301 - "form_entry_id" => $entryID,
302 - "form_id" => $formID,
303 - "created_at" => $user_details['time'],
304 - )
305 - );
306 - }
307 - if (is_wp_error($formEntry) || !$formEntry) {
308 - $data = ['message' => 'No record with ID "<entry_id>', 'code' => '3100'];
309 - wp_send_json_error($data, 404);
310 - }
311 - $file_fields = $this->getUploadFields($formID);
312 - if (count($file_fields) > 0) {
313 - $fileHandler = new FileHandler();
314 - foreach ($file_fields as $file_name) {
315 - if (!empty($_FILES[$file_name]['name'])) {
316 - $meta_value = $fileHandler->moveUploadedFiles($_FILES[$file_name], $formID, $entryID);
317 - if (!empty($meta_value)) {
318 - $updatedValue[$file_name] = wp_json_encode($meta_value);
319 - }
320 - }
321 - }
322 - }
323 - unset($updatedValue['_ajax_nonce']);
324 - unset($_REQUEST['g-recaptcha-response']);
325 - $workFlowRunHelper = new WorkFlowRunHelper($formID);
326 - if (isset($_POST['workflow'])) {
327 - $workFlowIds = is_array($_POST['workflow']) ? implode(",", $_POST['workflow']) : $_POST['workflow'];
328 - $workFlowreturnedOnSubmit = $workFlowRunHelper->executeOnSubmit(
329 - 'edit',
330 - $this->getFormContentWithValue($updatedValue, $formID)->fields,
331 - $updatedValue,
332 - $entryID,
333 - $log_id,
334 - $workFlowIds
335 - );
336 - if (!empty($workFlowreturnedOnSubmit['fields'])) {
337 - $updatedValue = $workFlowreturnedOnSubmit['fields'];
338 - unset($workFlowreturnedOnSubmit['fields']);
339 - }
340 - }
341 - $formEntryMetaUpdateStatus = $entryMeta->update(
342 - $updatedValue,
343 - array(
344 - 'bitforms_form_entry_id' => $entryID
345 - )
346 - );
347 - if (is_wp_error($formEntryMetaUpdateStatus) || isset($newFileInsertStatus) && is_wp_error($newFileInsertStatus)) {
348 - return $formEntryMetaUpdateStatus;
349 - }
350 - $updatedValue = array_merge($formEntryMetaUpdateStatus, array('entry_id' => $entryID));
351 - if (empty($workFlowreturnedOnSubmit['message'])) {
352 - $workFlowreturnedOnSubmit['message'] = __('Entry Updated Successfully', 'bitform');
353 - }
354 - $workFlowreturnedOnSubmit['updatedData'] = $updatedValue;
355 - $counter = 0;
356 - for ($i = 0; $i < count($formOldData); $i++) {
357 - if (array_key_exists($formOldData[$i]->meta_key . '_old', $updatedValue)) {
358 - unset($updatedValue[$formOldData[$i]->meta_key . '_old']);
359 - }
360 - if (in_array($formOldData[$i]->meta_key, $file_fields)) {
361 - if (
362 - empty($_FILES[$formOldData[$i]->meta_key]['name'])
363 - || (is_array($_FILES[$formOldData[$i]->meta_key]['name'])
364 - && count($_FILES[$formOldData[$i]->meta_key]['name']) === 1
365 - && empty($_FILES[$formOldData[$i]->meta_key]['name'][0]))
366 - ) {
367 - unset($updatedValue[$formOldData[$i]->meta_key]);
368 - continue;
369 - }
370 - if (is_array($_FILES[$formOldData[$i]->meta_key]['name']) && !in_array($_FILES[$formOldData[$i]->meta_key]['name'], json_decode($formOldData[$i]->meta_value))) {
371 - $key[$i] = '${' . $formOldData[$i]->meta_key . '} file was Updated To ' . json_encode($_FILES[$formOldData[$i]->meta_key]['name']);
372 - } elseif (!is_array($_FILES[$formOldData[$i]->meta_key]['name']) && !in_array($_FILES[$formOldData[$i]->meta_key]['name'], json_decode($formOldData[$i]->meta_value))) {
373 - $key[$i] = '${' . $formOldData[$i]->meta_key . '} file was Updated To ' . $_FILES[$formOldData[$i]->meta_key]['name'];
374 - }
375 - unset($updatedValue[$formOldData[$i]->meta_key]);
376 - } else {
377 - if (is_array($updatedValue[$formOldData[$i]->meta_key])) {
378 - if (json_decode($formOldData[$i]->meta_value) !== $updatedValue[$formOldData[$i]->meta_key]) {
379 - $key[$i] = '${' . $formOldData[$i]->meta_key . '} was Updated From ' . implode(',', json_decode($formOldData[$i]->meta_value)) . ' To ' . implode(",", $updatedValue[$formOldData[$i]->meta_key]);
380 - }
381 - } elseif (is_string($updatedValue[$formOldData[$i]->meta_key]) && !empty($updatedValue[$formOldData[$i]->meta_key])) {
382 - if ($formOldData[$i]->meta_value !== $updatedValue[$formOldData[$i]->meta_key]) {
383 - $key[$i] = '${' . $formOldData[$i]->meta_key . '} was Updated' . ($formOldData[$i]->meta_value ? ' From ' . $formOldData[$i]->meta_value : '') . ' To ' . $updatedValue[$formOldData[$i]->meta_key];
384 - }
385 - }
386 - }
387 - $counter++;
388 - }
389 - $newField = array_keys(array_diff_key($formEntryMetaUpdateStatus, $field_map));
390 - for ($i = 0; $i < count($newField); $i++) {
391 - if (is_array($updatedValue[$newField[$i]])) {
392 - if (!empty($updatedValue[$newField[$i]])) {
393 - $key[$counter + $i] = '${' . $newField[$i] . '} Updated To ' . implode(",", $updatedValue[$newField[$i]]);
394 - }
395 - } elseif (is_string($newField[$i])) {
396 - if (!empty($updatedValue[$newField[$i]])) {
397 - $key[$counter + $i] = '${' . $newField[$i] . '} Updated To ' . $updatedValue[$newField[$i]];
398 - }
399 - }
400 - }
401 - if ($key !== null) {
402 - $logUpdate = implode("b::f", (array) $key);
403 - $apiModel->logUpdate($logUpdate, $log_id);
404 - }
405 - return $workFlowreturnedOnSubmit;
406 - }
407 -
408 - public function getUploadFields($formID)
409 - {
410 - if (!is_null($this->_has_upload)) {
411 - return $this->_has_upload;
412 - }
413 - $upload_fields = array();
414 - $form_field_details = $this->getFields($formID);
415 - foreach ($form_field_details as $field_name => $__field_detail) {
416 - if (isset($__field_detail['type']) && $__field_detail['type'] === 'file-up') {
417 - $upload_fields[] = $field_name;
418 - }
419 - }
420 - $this->_has_upload = $upload_fields;
421 - return $upload_fields;
422 - }
423 -
424 - public function entry_delete($request)
425 - {
426 - $entries['entry_id'] = $request['entry_id'];
427 - $apiModel = new ApiModel();
428 - $forms = $apiModel->getFormId($entries['entry_id']);
429 - if ($forms === []) {
430 - $data = ['message' => 'No record with ID "<entry_id>".', 'code' => '3100'];
431 - wp_send_json_error($data, 404);
432 - }
433 - $formID = $forms[0]->form_id;
434 - $formManager = new AdminFormManager($formID);
435 - if (!$formManager->isExist()) {
436 - $data = ['message' => 'No form found. Please check and try again', 'code' => '3130'];
437 - wp_send_json_error($data, 404);
438 - }
439 - $workFlowRunHelper = new WorkFlowRunHelper($formID);
440 - $workFlowreturnedOnDelete = $workFlowRunHelper->executeOnDelete(
441 - $formManager,
442 - $formID,
443 - $entries
444 - );
445 -
446 - if (isset($workFlowreturnedOnDelete['entries'])) {
447 - if (count($workFlowreturnedOnDelete['entries']) === 0) {
448 - return ["message" => __('Entry Deletetion prevented by workflow', 'bitform')];
449 - } elseif (count($workFlowreturnedOnDelete['entries']) === count($entries)) {
450 - $message = __('Entry Deleted successfully', 'bitform');
451 - } else {
452 - $result['prevented'] = array_diff($entries, $workFlowreturnedOnDelete['entries']);
453 - $entries = $workFlowreturnedOnDelete['entries'];
454 - $message = __('Entry Deleted successfully, Some prevented by workflow', 'bitform');
455 - }
456 - } else {
457 - $message = __('Entry Deleted successfully', 'bitform');
458 - }
459 - global $wpdb;
460 - $prefix = $wpdb->prefix;
461 - $formEntryModel = new FormEntryModel();
462 - $delete_status = $formEntryModel->bulkDelete(
463 - array(
464 - "`{$prefix}bitforms_form_entries`.`id`" => $entries,
465 - "`{$prefix}bitforms_form_entries`.`form_id`" => $formID,
466 - )
467 - );
468 - if (file_exists(BITFORMS_UPLOAD_DIR . DIRECTORY_SEPARATOR . $formID)) {
469 - $fileHandler = new FileHandler();
470 - foreach ($entries as $enrtyKey => $entryID) {
471 - $fileEntries = BITFORMS_UPLOAD_DIR . DIRECTORY_SEPARATOR . $formID . DIRECTORY_SEPARATOR . $entryID;
472 - if (file_exists($fileEntries)) {
473 - $fileHandler->rmrf($fileEntries);
474 - }
475 - }
476 - }
477 - $count = $formEntryModel->count(
478 - array(
479 - 'form_id' => $formID,
480 - )
481 - );
482 - $formManager->resetSubmissionCount(intval($count[0]->count));
483 - if (is_wp_error($delete_status)) {
484 - return new WP_Error('entry_not_exists', __("Form entry deletion failed", "bitform"));
485 - }
486 - $result['message'] = $message;
487 - return rest_ensure_response(['status' => 200, 'code' => 4000, 'message' => $message, 'success' => true]);
488 - }
489 - public function entry_view($request)
490 - {
491 - $entryID = $request['entry_id'];
492 - if (!empty($entryID)) {
493 - $db = new ApiModel();
494 - $editEntry = $db->editEntry($entryID);
495 - if (!empty($editEntry)) {
496 - return rest_ensure_response(['data' => $editEntry, 'code' => 4000, 'status' => 200, 'success' => true]);
497 - } else {
498 - $data = ['message' => 'No record with ID "<entry_id>".', 'code' => '3100'];
499 - wp_send_json_error($data, 404);
500 - }
501 - } else {
502 - return rest_ensure_response(['data' => [], 'status' => 404, 'message' => 'route not found', 'success' => false]);
503 - }
504 - }
505 - public function getEntryResponse($request)
506 - {
507 - $formId = wp_unslash($request['id']);
508 - if (is_null($formId)) {
509 - return new WP_Error('empty_form', __('Form id is Empty', 'bitform'));
510 - }
511 - $formManager = new AdminFormManager($formId);
512 - if (!$formManager->isExist()) {
513 - return new WP_Error('empty_form', __('provided form does not exists', 'bitform'));
514 - }
515 - $formEntry = new FormEntryModel();
516 - $entries = $formEntry->get(
517 - 'id',
518 - array(
519 - 'form_id' => $formId,
520 - ),
521 - null,
522 - null,
523 - 'created_at',
524 - 'DESC'
525 - );
526 - if (is_wp_error($entries)) {
527 - if ($entries->get_code() === 'result_empty') {
528 - return rest_ensure_response(['data' => [], 'status' => 200, 'message' => 'form is empty', 'success' => true]);
529 - }
530 - return $entries;
531 - }
532 - $formFields = $formManager->getFieldLabel();
533 - $entryMeta = new FormEntryMetaModel();
534 - $formEntries = $entryMeta->getEntryMeta($formFields, $entries);
535 - return rest_ensure_response(['data' => $formEntries, 'status' => 200, 'success' => true]);
536 - }
55 + }
537 56 }