PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.9.1
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.9.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 2.10.2 All 137 releases
bit-form / includes / Core / Fallback / WorkFlow.php

WorkFlow.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 2.9.1, at includes/Core/Fallback/WorkFlow.php

72 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace BitCode\BitForm\Core\Fallback;
4
5 use BitCode\BitForm\Core\Database\WorkFlowModel;
6 use BitCode\BitForm\Core\Util\IpTool;
7
8 class WorkFlow
9 {
10 public function conditionalLogic()
11 {
12 $workFlowUpdatedSatus = true;
13 $workFlowModel = new WorkFlowModel();
14 $workFlows = $workFlowModel->get(
15 [
16 'id',
17 'workflow_behaviour',
18 'workflow_condition',
19 'workflow_action',
20 ],
21 [],
22 null,
23 null,
24 'id'
25 );
26 if (is_wp_error($workFlows) || count($workFlows) <= 0) {
27 return '';
28 }
29 $ipTool = new IpTool();
30 $user_details = $ipTool->getUserDetail();
31
32 foreach ($workFlows as $index => $workflow) {
33 $decode = \json_decode($workflow->workflow_action);
34 $logic = \json_decode($workflow->workflow_condition);
35 $beheviour = $workflow->workflow_behaviour;
36 $cond = 'cond' === $beheviour ? 'if' : 'always';
37
38 $workFlows[$index]->workflow_condition = [
39 'cond_type' => $cond,
40 'actions' => [
41 'fields' => $decode->action ? $decode->action : [],
42 'success' => $decode->successAction ? $decode->successAction : [],
43 'failure' => $decode->validateMsg ? $decode->validateMsg : '',
44 ],
45 ];
46 if ('cond' === $beheviour) {
47 $workFlows[$index]->workflow_condition['logics'] = $logic;
48 }
49 $updatedWorkFlow = json_encode([$workFlows[$index]->workflow_condition]);
50 $updated = $workFlowModel->update(
51 [
52 'workflow_condition' => $updatedWorkFlow,
53 'updated_at' => $user_details['time'],
54 ],
55 [
56 'id' => $workflow->id,
57 ]
58 );
59 if (is_wp_error($updated)) {
60 $workFlowUpdatedSatus = false;
61 break;
62 }
63 }
64 if ($workFlowUpdatedSatus) {
65 global $wpdb;
66 $wpdb->query(
67 "ALTER TABLE `{$wpdb->prefix}bitforms_workflows` DROP `workflow_action`"
68 );
69 }
70 }
71 }
72