PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.11.1
Independent Analytics – WordPress Analytics Plugin v2.11.1
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 All 120 releases
independent-analytics / IAWP / Models / Campaign.php
Campaign.php
70 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IAWP\Models;
4
5 /** @internal */
6 class Campaign
7 {
8 use \IAWP\Models\Universal_Model_Columns;
9 protected $row;
10 private $title;
11 private $utm_source;
12 private $utm_medium;
13 private $utm_campaign;
14 private $utm_term;
15 private $utm_content;
16 public function __construct($row)
17 {
18 $this->row = $row;
19 $this->title = $row->title;
20 $this->utm_source = $row->utm_source;
21 $this->utm_medium = $row->utm_medium;
22 $this->utm_campaign = $row->utm_campaign;
23 $this->utm_term = $row->utm_term;
24 $this->utm_content = $row->utm_content;
25 }
26 /*
27 * Column names have shared logic between tables. So "title" for resources has the same logic
28 * as "title" for campaigns. Adding is_deleted ensures that the method can be called even though
29 * campaigns can never be deleted. A better code base would allow this to be removed.
30 */
31 public function is_deleted()
32 {
33 return \false;
34 }
35 public function title()
36 {
37 return $this->title;
38 }
39 public function utm_source()
40 {
41 return $this->utm_source;
42 }
43 public function utm_medium()
44 {
45 return $this->utm_medium;
46 }
47 public function utm_campaign()
48 {
49 return $this->utm_campaign;
50 }
51 public function utm_term()
52 {
53 return $this->utm_term;
54 }
55 public function utm_content()
56 {
57 return $this->utm_content;
58 }
59 /**
60 * This isn't building a URL param that's used in a URL. This is building a unique id that's
61 * used for uniqueness in real-times most popular campaign list.
62 *
63 * @return string
64 */
65 public function params() : string
66 {
67 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()]);
68 }
69 }
70