PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 3.1.2
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v3.1.2
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 3.1.2, at includes/Core/Fallback/WorkFlow.php

74 lines 2.1 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 'workflow_status',
21 ],
22 [],
23 null,
24 null,
25 'id'
26 );
27 if (is_wp_error($workFlows) || count($workFlows) <= 0) {
28 return '';
29 }
30 $ipTool = new IpTool();
31 $user_details = $ipTool->getUserDetail();
32
33 foreach ($workFlows as $index => $workflow) {
34 $decode = \json_decode($workflow->workflow_action);
35 $logic = \json_decode($workflow->workflow_condition);
36 $beheviour = $workflow->workflow_behaviour;
37 $cond = 'cond' === $beheviour ? 'if' : 'always';
38
39 $workFlows[$index]->workflow_condition = [
40 'cond_type' => $cond,
41 'actions' => [
42 'fields' => $decode->action ? $decode->action : [],
43 'success' => $decode->successAction ? $decode->successAction : [],
44 'failure' => $decode->validateMsg ? $decode->validateMsg : '',
45 ],
46 ];
47 if ('cond' === $beheviour) {
48 $workFlows[$index]->workflow_condition['logics'] = $logic;
49 }
50 $updatedWorkFlow = wp_json_encode([$workFlows[$index]->workflow_condition]);
51 $updated = $workFlowModel->update(
52 [
53 'workflow_condition' => $updatedWorkFlow,
54 'updated_at' => $user_details['time'],
55 ],
56 [
57 'id' => $workflow->id,
58 ]
59 );
60 if (is_wp_error($updated)) {
61 $workFlowUpdatedSatus = false;
62 break;
63 }
64 }
65 if ($workFlowUpdatedSatus) {
66 global $wpdb;
67 // Schema migration: table name interpolation only. $wpdb->prepare() cannot parameterize DDL statements.
68 $wpdb->query(
69 "ALTER TABLE `{$wpdb->prefix}bitforms_workflows` DROP `workflow_action`"
70 );
71 }
72 }
73 }
74