PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.17
Independent Analytics – WordPress Analytics Plugin v1.17
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 / geos.php
independent-analytics / IAWP / queries Last commit date
campaigns.php 3 years ago current_traffic_finder.php 3 years ago geos.php 3 years ago range_query.php 3 years ago referrers.php 3 years ago reset_database.php 3 years ago resources.php 3 years ago view.php 3 years ago views.php 3 years ago visitors_over_time_finder.php 3 years ago
geos.php
58 lines
1 <?php
2
3 namespace IAWP;
4
5 class Geos extends Range_Query
6 {
7 private $results;
8 private $include_sub_and_city;
9 private $ids;
10
11 public function __construct($options = [])
12 {
13 parent::__construct($options);
14 $options = default_args($options, [
15 'include_sub_and_city' => true,
16 ]);
17 $this->include_sub_and_city = $options['include_sub_and_city'];
18 }
19
20 public function fetch()
21 {
22 if (is_null($this->results)) {
23 $this->results = $this->query();
24 }
25
26 return $this->results;
27 }
28
29 private function query()
30 {
31 $is_using_woocommerce = Capability_Manager::is_using_woocommerce();
32 $query = $is_using_woocommerce ? 'get_geos_with_woocommerce' : 'get_geos';
33
34 $rows = Query::query($query, [
35 'start' => $this->formatted_start(),
36 'end' => $this->formatted_end(),
37 'prev_start' => $this->prev_period_formatted_start(),
38 'prev_end' => $this->prev_period_formatted_end(),
39 'include_sub_and_city' => $this->include_sub_and_city,
40 ])->rows();
41
42 return self::rows_to_geos($rows);
43 }
44
45 private function rows_to_geos($rows)
46 {
47 return array_map(function ($row) {
48 $row->views = intval($row->views);
49 $row->visitors = intval($row->visitors);
50 $row->visitor_ids = array_map(function ($id) {
51 return $id;
52 }, explode(',', $row->visitor_ids));
53
54 return new Geo($row);
55 }, $rows);
56 }
57 }
58