PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.1
Independent Analytics – WordPress Analytics Plugin v2.15.1
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 / Rows / Forms.php
independent-analytics / IAWP / Rows Last commit date
Campaign_Landing_Pages.php 2 weeks ago Campaign_UTM_Campaigns.php 2 weeks ago Campaign_UTM_Mediums.php 2 weeks ago Campaign_UTM_Sources.php 2 weeks ago Campaigns.php 2 weeks ago Cities.php 2 weeks ago Countries.php 2 weeks ago Device_Browsers.php 2 weeks ago Device_OSS.php 2 weeks ago Device_Types.php 2 weeks ago Filter.php 5 months ago Forms.php 5 months ago Journeys.php 3 months ago Link_Patterns.php 4 months ago Links.php 5 months ago Pages.php 2 weeks ago Referrer_Types.php 2 weeks ago Referrers.php 2 weeks ago Rows.php 2 weeks ago
Forms.php
37 lines
1 <?php
2
3 namespace IAWP\Rows;
4
5 use IAWP\Illuminate_Builder;
6 use IAWP\Models\Form;
7 use IAWPSCOPED\Illuminate\Database\Query\Builder;
8 /** @internal */
9 class Forms extends \IAWP\Rows\Rows
10 {
11 public function attach_filters(Builder $query) : void
12 {
13 // There are no filters to attach as this is used for the email report and not a dashboard
14 }
15 protected function fetch_rows() : array
16 {
17 $rows = $this->query()->get()->all();
18 return \array_map(function ($row) {
19 return new Form($row);
20 }, $rows);
21 }
22 protected function sort_tie_breaker_column() : string
23 {
24 return 'form_title';
25 }
26 private function query(?bool $skip_pagination = \false) : Builder
27 {
28 if ($skip_pagination) {
29 $this->number_of_rows = null;
30 }
31 $query = Illuminate_Builder::new()->select(['forms.form_id', 'forms.cached_form_title AS form_title'])->selectRaw('COUNT(DISTINCT form_submissions.form_submission_id) AS submissions')->from($this->tables::forms(), 'forms')->leftJoin($this->tables::form_submissions() . ' AS form_submissions', 'form_submissions.form_id', '=', 'forms.form_id')->whereBetween('form_submissions.created_at', $this->get_current_period_iso_range())->when(\is_int($this->number_of_rows), function (Builder $query) {
32 $query->limit($this->number_of_rows);
33 })->orderBy($this->sort_configuration->column(), $this->sort_configuration->direction())->orderBy($this->sort_tie_breaker_column())->groupBy('forms.form_id');
34 return $query;
35 }
36 }
37