PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.2
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / classes / WpMatomo / Report / Data.php
matomo / classes / WpMatomo / Report Last commit date
views 3 months ago Data.php 2 months ago Dates.php 1 year ago Metadata.php 1 year ago Renderer.php 2 months ago
Data.php
84 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 * @package matomo
8 */
9
10 namespace WpMatomo\Report;
11
12 use Piwik\API\Request;
13 use WpMatomo\Bootstrap;
14 use WpMatomo\Site;
15
16 if ( ! defined( 'ABSPATH' ) ) {
17 exit; // if accessed directly
18 }
19
20 class Data {
21
22 /**
23 * @param array $report_metadata
24 * @param string $period
25 * @param string $date
26 * @param string $sort_by_column
27 * @param string|int $filter_limit
28 *
29 * @return array An array containing reportData, metrics, columns, ...
30 */
31 public function fetch_report( $report_metadata, $period, $date, $sort_by_column, $filter_limit, $extra_params = [] ) {
32 $site = new Site();
33 $idsite = $site->get_current_matomo_site_id();
34
35 if ( empty( $idsite ) ) {
36 return [];
37 }
38
39 Bootstrap::do_bootstrap();
40
41 $params = [
42 'apiModule' => $report_metadata['module'],
43 'apiAction' => $report_metadata['action'],
44 'filter_limit' => $filter_limit,
45 'filter_sort_column' => $sort_by_column,
46 'period' => $period,
47 'date' => $date,
48 'idSite' => $idsite,
49 ];
50 $params = array_merge( $params, $extra_params );
51 if ( ! empty( $report_metadata['parameters'] ) ) {
52 $params = array_merge( $params, $report_metadata['parameters'] );
53 }
54
55 $report = Request::processRequest( 'API.getProcessedReport', $params );
56
57 return $report;
58 }
59
60 public function fetch_raw_report( $method, $period, $date, $sort_by_column, $filter_limit, $extra_params = [] ) {
61 $site = new Site();
62 $idsite = $site->get_current_matomo_site_id();
63
64 if ( empty( $idsite ) ) {
65 return [];
66 }
67
68 Bootstrap::do_bootstrap();
69
70 $params = [
71 'filter_limit' => $filter_limit,
72 'filter_sort_column' => $sort_by_column,
73 'period' => $period,
74 'date' => $date,
75 'idSite' => $idsite,
76 ];
77 $params = array_merge( $params, $extra_params );
78
79 $report = Request::processRequest( $method, $params );
80
81 return $report;
82 }
83 }
84