PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.14.9
Independent Analytics – WordPress Analytics Plugin v2.14.9
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 / Admin_Page / Visitor_Page.php
Visitor_Page.php
44 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IAWP\Admin_Page;
4
5 use IAWP\Date_Range\Relative_Date_Range;
6 use IAWP\Tables\Table_Journeys;
7 /** @internal */
8 class Visitor_Page extends \IAWP\Admin_Page\Admin_Page
9 {
10 protected function render_page()
11 {
12 $visitor_id = $this->visitor_id();
13 $session_id = $this->session_id();
14 if (!\is_int($visitor_id)) {
15 echo '';
16 return;
17 }
18 $table = new Table_Journeys();
19 $sort_configuration = $table->sanitize_sort_parameters('created_at', 'DESC');
20 $date_range = new Relative_Date_Range('ALL_TIME');
21 $rows_class = $table->group()->rows_class();
22 $rows_query = new $rows_class($date_range, $sort_configuration, null, []);
23 $rows_query->limit_to_visitor($visitor_id);
24 $rows = $rows_query->rows();
25 echo \IAWPSCOPED\iawp_render('journeys.visitor-page', ['title' => \__('Visitor', 'independent-analytics') . ' #' . $visitor_id, 'rows' => $table->get_rendered_template($rows, \true, $sort_configuration->column(), $sort_configuration->direction()), 'session_id' => $session_id]);
26 }
27 private function visitor_id() : ?int
28 {
29 $visitor_id = $_GET['visitor'] ?? null;
30 if ($visitor_id !== null && \ctype_digit($visitor_id)) {
31 return (int) $visitor_id;
32 }
33 return null;
34 }
35 private function session_id() : ?int
36 {
37 $session_id = $_GET['session'] ?? null;
38 if ($session_id !== null && \ctype_digit($session_id)) {
39 return (int) $session_id;
40 }
41 return null;
42 }
43 }
44