PluginProbe
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment / 2.1.14
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment v2.1.14
3.1.13 3.1.12 3.1.11 3.1.10 3.1.9 3.1.8 3.1.7 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 All 122 releases
firebox / Inc / Core / Helpers / Form / Submission.php

Submission.php in FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment 2.1.14, at Inc/Core/Helpers/Form/Submission.php

124 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package FireBox
4 * @version 2.1.14 Free
5 *
6 * @author FirePlugins <info@fireplugins.com>
7 * @link https://www.fireplugins.com
8 * @copyright Copyright © 2024 FirePlugins All Rights Reserved
9 * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
10 */
11
12 namespace FireBox\Core\Helpers\Form;
13
14 if (!defined('ABSPATH'))
15 {
16 exit; // Exit if accessed directly.
17 }
18
19 class Submission
20 {
21 /**
22 * Create submission.
23 *
24 * @param string $form_id
25 * @param int $state
26 * @param bool $save
27 *
28 * @return array
29 */
30 public static function create($form_id = null, $state = 1, $save = true)
31 {
32 if (!$form_id)
33 {
34 return;
35 }
36
37 $factory = new \FPFramework\Base\Factory();
38
39 $submission_payload = [
40 'form_id' => str_replace('form-', '', $form_id),
41 'visitor_id' => $factory->getVisitorID(),
42 'user_id' => get_current_user_id(),
43 'state' => $state,
44 'created_at' => gmdate('Y-m-d H:i:s'),
45 'modified_at' => null
46 ];
47
48 if ($save)
49 {
50 if (!$submission_id = firebox()->tables->submission->insert($submission_payload))
51 {
52 return;
53 }
54 }
55 else
56 {
57 $submission_id = 0;
58 }
59
60 return array_merge($submission_payload, [
61 'id' => $submission_id,
62 ]);
63 }
64
65 /**
66 * Updates the submission state.
67 *
68 * @param int $submission_id
69 * @param int $state
70 *
71 * @return bool
72 */
73 public static function updateState($submission_id = null, $state = null)
74 {
75 if (!$submission_id || !in_array($state, [0, 1]))
76 {
77 return;
78 }
79
80 $data = [
81 'state' => $state
82 ];
83
84 $where = [
85 'id' => $submission_id
86 ];
87
88 return firebox()->tables->submission->update($data, $where);
89 }
90
91 /**
92 * Returns the submission details given its ID.
93 *
94 * @param int $id
95 *
96 * @return bool
97 */
98 public static function get($id = null)
99 {
100 if (!$id)
101 {
102 return;
103 }
104
105 $submission = firebox()->tables->submission->getResults([
106 'where' => [
107 'id = ' => "'" . esc_sql($id) . "'"
108 ]
109 ], true);
110
111 if (!$submission)
112 {
113 return;
114 }
115
116 $submission = $submission[0];
117
118 $submission->form = Form::getFormByID($submission->form_id);
119
120 $submission->meta = SubmissionMeta::getMeta($id);
121
122 return $submission;
123 }
124 }