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 / View_Stats.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
View_Stats.php
141 lines
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Models;
4
5 trait View_Stats
6 {
7 protected $views;
8 protected $previous_period_views;
9 protected $visitors;
10 protected $previous_period_visitors;
11 protected $sessions;
12 protected $previous_period_sessions;
13 protected $average_session_duration;
14 protected $previous_period_average_session_duration;
15 protected $average_view_duration;
16 protected $previous_period_average_view_duration;
17 protected $bounces;
18 public final function views()
19 {
20 return $this->views;
21 }
22 public final function previous_period_views()
23 {
24 return $this->previous_period_views;
25 }
26 public final function views_growth()
27 {
28 $current = $this->views();
29 $previous = $this->previous_period_views();
30 if ($current == 0 || $previous == 0) {
31 return 0;
32 } else {
33 return ($current - $previous) / $previous * 100;
34 }
35 }
36 public final function visitors()
37 {
38 return $this->visitors;
39 }
40 public final function previous_period_visitors()
41 {
42 return $this->previous_period_visitors;
43 }
44 public final function visitors_growth()
45 {
46 $current = $this->visitors();
47 $previous = $this->previous_period_visitors();
48 if ($current == 0 || $previous == 0) {
49 return 0;
50 } else {
51 return ($current - $previous) / $previous * 100;
52 }
53 }
54 public final function sessions()
55 {
56 return $this->sessions;
57 }
58 public final function previous_period_sessions()
59 {
60 return $this->previous_period_sessions;
61 }
62 public final function sessions_growth()
63 {
64 $current = $this->sessions();
65 $previous = $this->previous_period_sessions();
66 if ($current == 0 || $previous == 0) {
67 return 0;
68 } else {
69 return ($current - $previous) / $previous * 100;
70 }
71 }
72 public final function average_session_duration()
73 {
74 return $this->average_session_duration;
75 }
76 public final function previous_period_average_session_duration()
77 {
78 return $this->previous_period_average_session_duration;
79 }
80 public final function average_session_duration_growth()
81 {
82 $current = $this->average_session_duration();
83 $previous = $this->previous_period_average_session_duration();
84 if ($current == 0 || $previous == 0) {
85 return 0;
86 } else {
87 return ($current - $previous) / $previous * 100;
88 }
89 }
90 public final function average_view_duration()
91 {
92 return $this->average_view_duration;
93 }
94 public final function previous_period_average_view_duration()
95 {
96 return $this->previous_period_average_view_duration;
97 }
98 public final function average_view_duration_growth()
99 {
100 $current = $this->average_view_duration();
101 $previous = $this->previous_period_average_view_duration();
102 if ($current == 0 || $previous == 0) {
103 return 0;
104 } else {
105 return ($current - $previous) / $previous * 100;
106 }
107 }
108 public final function bounces() : int
109 {
110 return $this->bounces;
111 }
112 public final function bounce_rate() : float
113 {
114 if ($this->sessions === 0) {
115 return 0;
116 }
117 return $this->bounces / $this->sessions * 100;
118 }
119 public final function views_per_session() : float
120 {
121 if ($this->sessions === 0) {
122 return 0;
123 }
124 return $this->views / $this->sessions;
125 }
126 protected final function set_view_stats($row)
127 {
128 $this->views = isset($row->views) ? \intval($row->views) : null;
129 $this->previous_period_views = isset($row->previous_period_views) ? \intval($row->previous_period_views) : null;
130 $this->visitors = isset($row->visitors) ? \intval($row->visitors) : null;
131 $this->average_session_duration = isset($row->average_session_duration) ? \intval($row->average_session_duration) : null;
132 $this->average_view_duration = isset($row->average_view_duration) ? \intval($row->average_view_duration) : null;
133 $this->previous_period_visitors = isset($row->previous_period_visitors) ? \intval($row->previous_period_visitors) : null;
134 $this->sessions = isset($row->sessions) ? \intval($row->sessions) : null;
135 $this->previous_period_sessions = isset($row->previous_period_sessions) ? \intval($row->previous_period_sessions) : null;
136 $this->previous_period_average_session_duration = isset($row->previous_period_average_session_duration) ? \intval($row->previous_period_average_session_duration) : null;
137 $this->previous_period_average_view_duration = isset($row->previous_period_average_view_duration) ? \intval($row->previous_period_average_view_duration) : null;
138 $this->bounces = isset($row->bounces) ? \intval($row->bounces) : null;
139 }
140 }
141