PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.30.0
Independent Analytics – WordPress Analytics Plugin v1.30.0
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 / Models / Campaign.php
independent-analytics / IAWP / Models Last commit date
Campaign.php 3 years ago Current_Traffic.php 3 years ago Device.php 2 years ago Geo.php 2 years ago Page.php 2 years ago Page_Author_Archive.php 3 years ago Page_Date_Archive.php 3 years ago Page_Home.php 3 years ago Page_Not_Found.php 3 years ago Page_Post_Type_Archive.php 2 years ago Page_Search.php 3 years ago Page_Singular.php 2 years ago Page_Term_Archive.php 3 years ago Referrer.php 2 years ago View_Stats.php 2 years ago Visitor.php 2 years ago WooCommerce_Stats.php 3 years ago
Campaign.php
103 lines
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Models;
4
5 class Campaign
6 {
7 use View_Stats;
8 use WooCommerce_Stats;
9 private $campaign_ids;
10 private $resource_id;
11 private $title;
12 private $utm_source;
13 private $utm_medium;
14 private $utm_campaign;
15 private $utm_term;
16 private $utm_content;
17 public function __construct($row)
18 {
19 $this->campaign_ids = $row->campaign_ids;
20 $this->resource_id = $row->resource_id;
21 $this->title = $row->title;
22 $this->utm_source = $row->utm_source;
23 $this->utm_medium = $row->utm_medium;
24 $this->utm_campaign = $row->utm_campaign;
25 $this->utm_term = $row->utm_term;
26 $this->utm_content = $row->utm_content;
27 $this->set_view_stats($row);
28 $this->set_wc_stats($row);
29 }
30 /*
31 * Column names have shared logic between tables. So "title" for resources has the same logic
32 * as "title" for campaigns. Adding is_deleted ensures that the method can be called even though
33 * campaigns can never be deleted. A better code base would allow this to be removed.
34 */
35 public function is_deleted()
36 {
37 return \false;
38 }
39 public function title()
40 {
41 return $this->title;
42 }
43 public function utm_source()
44 {
45 return $this->utm_source;
46 }
47 public function utm_medium()
48 {
49 return $this->utm_medium;
50 }
51 public function utm_campaign()
52 {
53 return $this->utm_campaign;
54 }
55 public function utm_term()
56 {
57 return $this->utm_term;
58 }
59 public function utm_content()
60 {
61 return $this->utm_content;
62 }
63 /**
64 * This isn't building a URL param that's used in a URL. This is building a unique id that's
65 * used for uniqueness in real-times most popular campaign list.
66 *
67 * @return string
68 */
69 public function params() : string
70 {
71 return \http_build_query(['title' => $this->title(), 'utm_source' => $this->utm_source(), 'utm_medium' => $this->utm_medium(), 'utm_campaign' => $this->utm_campaign(), 'utm_term' => $this->utm_term(), 'utm_content' => $this->utm_content()]);
72 }
73 /**
74 * @param Campaign[] $campaigns
75 *
76 * @return int[]
77 */
78 public static function convert_campaigns_to_ids(array $campaigns) : array
79 {
80 if (\count($campaigns) === 0) {
81 return [];
82 }
83 $array_of_arrays = \array_map(function ($campaign) {
84 return $campaign->campaign_ids;
85 }, $campaigns);
86 return \array_merge(...$array_of_arrays);
87 }
88 /**
89 * @param Campaign[] $campaigns
90 *
91 * @return int[]
92 */
93 public static function get_resource_ids_for_campaigns(array $campaigns) : array
94 {
95 if (\count($campaigns) === 0) {
96 return [];
97 }
98 return \array_map(function ($campaign) {
99 return $campaign->resource_id;
100 }, $campaigns);
101 }
102 }
103