PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.0
Independent Analytics – WordPress Analytics Plugin v2.15.0
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 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Form_Submissions / Submission.php
independent-analytics / IAWP / Form_Submissions Last commit date
Form.php 4 days ago Newsletter.php 6 months ago Submission.php 5 months ago Submission_Listener.php 4 days ago
Submission.php
37 lines
1 <?php
2
3 namespace IAWP\Form_Submissions;
4
5 use IAWP\Illuminate_Builder;
6 use IAWP\Models\Visitor;
7 use IAWP\Query;
8 use IAWP\Utils\Timezone;
9 /** @internal */
10 class Submission
11 {
12 public $plugin_id;
13 public $plugin_form_id;
14 public $form_title;
15 public function __construct(int $plugin_id, int $plugin_form_id, string $form_title)
16 {
17 $this->plugin_id = $plugin_id;
18 $this->plugin_form_id = $plugin_form_id;
19 $this->form_title = $form_title;
20 }
21 public function record_submission() : void
22 {
23 $form_submissions_table = Query::get_table_name(Query::FORM_SUBMISSIONS);
24 $visitor = Visitor::fetch_current_visitor();
25 if (!$visitor->has_recorded_session()) {
26 return;
27 }
28 Illuminate_Builder::new()->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('now', Timezone::utc_timezone()))->format('Y-m-d\\TH:i:s')]);
29 }
30 private function get_form_id() : int
31 {
32 $forms_table = Query::get_table_name(Query::FORMS);
33 Illuminate_Builder::new()->from($forms_table)->updateOrInsert(['plugin_id' => $this->plugin_id, 'plugin_form_id' => $this->plugin_form_id], ['cached_form_title' => \substr($this->form_title, 0, 64)]);
34 return Illuminate_Builder::new()->from($forms_table)->where(['plugin_id' => $this->plugin_id, 'plugin_form_id' => $this->plugin_form_id])->value('form_id');
35 }
36 }
37