PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.0
Independent Analytics – WordPress Analytics Plugin v2.15.0
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 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 / Journey / Events / Submission.php
independent-analytics / IAWP / Journey / Events Last commit date
Click.php 5 months ago Event.php 5 months ago Order.php 5 months ago Origin.php 5 months ago Submission.php 5 months ago View.php 3 months ago
Submission.php
58 lines
1 <?php
2
3 namespace IAWP\Journey\Events;
4
5 use IAWPSCOPED\Carbon\CarbonImmutable;
6 use IAWP\Form_Submissions\Form;
7 use IAWP\Illuminate_Builder;
8 use IAWP\Tables;
9 use IAWP\Utils\Obj;
10 use IAWP\Utils\Timezone;
11 /** @internal */
12 class Submission extends \IAWP\Journey\Events\Event
13 {
14 private int $session_id;
15 private string $created_at;
16 private string $form_title;
17 private int $plugin_id;
18 public function __construct(object $record)
19 {
20 $this->session_id = $record->session_id;
21 $this->created_at = $record->created_at;
22 $this->form_title = $record->form_title;
23 $this->plugin_id = $record->plugin_id;
24 }
25 public function type() : string
26 {
27 return 'submission';
28 }
29 public function label() : string
30 {
31 return \__('Form', 'independent-analytics');
32 }
33 public function created_at() : ?CarbonImmutable
34 {
35 return CarbonImmutable::parse($this->created_at, 'utc')->timezone(Timezone::site_timezone());
36 }
37 public function html() : string
38 {
39 return \IAWPSCOPED\iawp_render('journeys.timeline.submission', ['event' => $this]);
40 }
41 public function form_title() : string
42 {
43 return $this->form_title;
44 }
45 public function plugin_name() : string
46 {
47 return Form::find_plugin_by_id($this->plugin_id)['name'] ?? '';
48 }
49 public static function from_session(int $session_id) : array
50 {
51 $query = Illuminate_Builder::new()->select(['form_submissions.session_id', 'form_submissions.created_at', 'forms.cached_form_title AS form_title', 'forms.plugin_id'])->from(Tables::form_submissions(), 'form_submissions')->leftJoin(Tables::forms() . ' AS forms', 'form_submissions.form_id', '=', 'forms.form_id')->where('form_submissions.session_id', '=', $session_id);
52 $records = $query->get()->all();
53 return \array_map(function ($record) {
54 return new \IAWP\Journey\Events\Submission(Obj::empty_strings_to_null($record));
55 }, $records);
56 }
57 }
58