PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.23.0
Independent Analytics – WordPress Analytics Plugin v1.23.0
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 / Queries / Resources.php
independent-analytics / IAWP / Queries Last commit date
Campaigns.php 3 years ago City_Statistics.php 3 years ago Country_Statistics.php 3 years ago Current_Traffic_Finder.php 3 years ago Referrers.php 3 years ago Resources.php 3 years ago Visitors_Over_Time_Finder.php 3 years ago
Resources.php
65 lines
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Queries;
4
5 use IAWP_SCOPED\IAWP\Date_Range\Date_Range;
6 use IAWP_SCOPED\IAWP\Models\Page_Author_Archive;
7 use IAWP_SCOPED\IAWP\Models\Page_Date_Archive;
8 use IAWP_SCOPED\IAWP\Models\Page_Home;
9 use IAWP_SCOPED\IAWP\Models\Page_Not_Found;
10 use IAWP_SCOPED\IAWP\Models\Page_Post_Type_Archive;
11 use IAWP_SCOPED\IAWP\Models\Page_Search;
12 use IAWP_SCOPED\IAWP\Models\Page_Singular;
13 use IAWP_SCOPED\IAWP\Models\Page_Term_Archive;
14 use IAWP_SCOPED\IAWP\Query;
15 class Resources
16 {
17 /**
18 * @var Date_Range
19 */
20 private $date_range;
21 private $results;
22 /**
23 * @param Date_Range $date_range Range to fetch referrers for
24 */
25 public function __construct(Date_Range $date_range)
26 {
27 $this->date_range = $date_range;
28 }
29 public function fetch() : array
30 {
31 if (\is_null($this->results)) {
32 $this->results = $this->query();
33 }
34 return $this->results;
35 }
36 private function query() : array
37 {
38 $rows = Query::query('get_resources', ['start' => $this->date_range->iso_start(), 'end' => $this->date_range->iso_end(), 'prev_start' => $this->date_range->previous_period_iso_start(), 'prev_end' => $this->date_range->previous_period_iso_end()])->rows();
39 return $this->rows_to_pages($rows);
40 }
41 private function rows_to_pages($rows) : array
42 {
43 return \array_map(function ($row) {
44 switch ($row->resource) {
45 case 'singular':
46 return new Page_Singular($row);
47 case 'author_archive':
48 return new Page_Author_Archive($row);
49 case 'date_archive':
50 return new Page_Date_Archive($row);
51 case 'post_type_archive':
52 return new Page_Post_Type_Archive($row);
53 case 'term_archive':
54 return new Page_Term_Archive($row);
55 case 'search':
56 return new Page_Search($row);
57 case 'home':
58 return new Page_Home($row);
59 case '404':
60 return new Page_Not_Found($row);
61 }
62 }, $rows);
63 }
64 }
65