PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.7.1
Independent Analytics – WordPress Analytics Plugin v2.7.1
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 All 120 releases
independent-analytics / IAWP / Form_Submissions / Submission.php
Submission.php
36 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IAWP\Form_Submissions;
4
5 use IAWP\Illuminate_Builder;
6 use IAWP\Models\Visitor;
7 use IAWP\Query;
8 /** @internal */
9 class Submission
10 {
11 public $plugin_id;
12 public $plugin_form_id;
13 public $form_title;
14 public function __construct(int $plugin_id, int $plugin_form_id, string $form_title)
15 {
16 $this->plugin_id = $plugin_id;
17 $this->plugin_form_id = $plugin_form_id;
18 $this->form_title = $form_title;
19 }
20 public function record_submission() : void
21 {
22 $form_submissions_table = Query::get_table_name(Query::FORM_SUBMISSIONS);
23 $visitor = Visitor::fetch_current_visitor();
24 if (!$visitor->has_recorded_session()) {
25 return;
26 }
27 Illuminate_Builder::get_builder()->from($form_submissions_table)->insert(['form_id' => $this->get_form_id(), 'session_id' => $visitor->most_recent_session_id(), 'view_id' => $visitor->most_recent_view_id(), 'initial_view_id' => $visitor->most_recent_initial_view_id(), 'created_at' => (new \DateTime())->format('Y-m-d\\TH:i:s')]);
28 }
29 private function get_form_id() : int
30 {
31 $forms_table = Query::get_table_name(Query::FORMS);
32 Illuminate_Builder::get_builder()->from($forms_table)->updateOrInsert(['plugin_id' => $this->plugin_id, 'plugin_form_id' => $this->plugin_form_id], ['cached_form_title' => $this->form_title]);
33 return Illuminate_Builder::get_builder()->from($forms_table)->where(['plugin_id' => $this->plugin_id, 'plugin_form_id' => $this->plugin_form_id])->value('form_id');
34 }
35 }
36