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