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

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

70 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 public function conditionalLogic() {
10 $workFlowUpdatedSatus = true;
11 $workFlowModel = new WorkFlowModel();
12 $workFlows = $workFlowModel->get(
13 [
14 'id',
15 'workflow_behaviour',
16 'workflow_condition',
17 'workflow_action',
18 ],
19 [],
20 null,
21 null,
22 'id'
23 );
24 if (is_wp_error($workFlows) || count($workFlows) <= 0) {
25 return '';
26 }
27 $ipTool = new IpTool();
28 $user_details = $ipTool->getUserDetail();
29
30 foreach ($workFlows as $index => $workflow) {
31 $decode = \json_decode($workflow->workflow_action);
32 $logic = \json_decode($workflow->workflow_condition);
33 $beheviour = $workflow->workflow_behaviour;
34 $cond = 'cond' === $beheviour ? 'if' : 'always';
35
36 $workFlows[$index]->workflow_condition = [
37 'cond_type' => $cond,
38 'actions' => [
39 'fields' => $decode->action ? $decode->action : [],
40 'success' => $decode->successAction ? $decode->successAction : [],
41 'failure' => $decode->validateMsg ? $decode->validateMsg : '',
42 ],
43 ];
44 if ('cond' === $beheviour) {
45 $workFlows[$index]->workflow_condition['logics'] = $logic;
46 }
47 $updatedWorkFlow = json_encode([$workFlows[$index]->workflow_condition]);
48 $updated = $workFlowModel->update(
49 [
50 'workflow_condition' => $updatedWorkFlow,
51 'updated_at' => $user_details['time'],
52 ],
53 [
54 'id' => $workflow->id,
55 ]
56 );
57 if (is_wp_error($updated)) {
58 $workFlowUpdatedSatus = false;
59 break;
60 }
61 }
62 if ($workFlowUpdatedSatus) {
63 global $wpdb;
64 $wpdb->query(
65 "ALTER TABLE `{$wpdb->prefix}bitforms_workflows` DROP `workflow_action`"
66 );
67 }
68 }
69 }
70