PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.11.2
Independent Analytics – WordPress Analytics Plugin v2.11.2
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 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
Campaigns.php 1 year ago Cities.php 1 year ago Countries.php 1 year ago Device_Browsers.php 1 year ago Device_OSS.php 1 year ago Device_Types.php 1 year ago Filter.php 1 year ago Forms.php 1 year ago Link_Patterns.php 1 year ago Links.php 1 year ago Pages.php 1 year ago Referrers.php 1 year ago Rows.php 1 year ago
Forms.php
39 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 private function query(?bool $skip_pagination = \false) : Builder
23 {
24 if ($skip_pagination) {
25 $this->number_of_rows = null;
26 }
27 $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(\count($this->filters) > 0, function (Builder $query) {
28 foreach ($this->filters as $filter) {
29 if (!$this->is_a_calculated_column($filter->column())) {
30 $filter->apply_to_query($query);
31 }
32 }
33 })->when(\is_int($this->number_of_rows), function (Builder $query) {
34 $query->limit($this->number_of_rows);
35 })->orderBy($this->sort_configuration->column(), $this->sort_configuration->direction())->orderBy('form_title')->groupBy('forms.form_id');
36 return $query;
37 }
38 }
39