FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
plugin-Bandwidth/API.php at 6.x-dev · matomo-org/plugin-Bandwidth · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
matomo-org
/
plugin-Bandwidth
Public
Notifications
You must be signed in to change notification settings
Fork
12
Star
17
Code
Issues
0
Pull requests
6
Actions
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
plugin-Bandwidth
/
API.php
Copy path
More file actions
More file actions
Latest commit
History
History
History
71 lines (62 loc) · 3.05 KB
Breadcrumbs
plugin-Bandwidth
/
API.php
Copy path
File metadata and controls
71 lines (62 loc) · 3.05 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
namespace
Piwik
\
Plugins
\
Bandwidth
;
use
Piwik
\
Archive
;
use
Piwik
\
DataTable
;
use
Piwik
\
Piwik
;
/**
* Exposes reporting API endpoints for aggregated bandwidth metrics.
*
* @method static \Piwik\Plugins\Bandwidth\API getInstance()
*/
class
API
extends
\
Piwik
\
Plugin
\
API
{
/**
* Returns aggregated bandwidth metrics for the requested site selection and archive period.
* Includes overall, pageview, and download totals, optionally limited to specific metric columns.
*
* @param int|string|int[] $idSite Website ID(s) to query.
* - Single site ID (e.g. 1)
* - Multiple site IDs (e.g. [1, 4, 5])
* - Comma-separated list ("1,4,5") or "all"
* @param 'day'|'week'|'month'|'year'|'range' $period The period to process, processes data for the period
* containing the specified date.
* @param string $date The date or date range to process.
* 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear),
* or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX).
* @param string|null|false $segment Custom segment to filter the report.
* Example: "referrerName==example.com"
* Supports AND (;) and OR (,) operators.
* @param string|array|false $columns Metric columns to return.
* Accepts a comma-separated list, an array of metric names,
* or false to return all available bandwidth metrics.
* @return DataTable|DataTable\Map A table containing the requested bandwidth metric totals as integers.
*/
public
function
get
(
$
idSite
,
$
period
,
$
date
,
$
segment
=
false
,
$
columns
=
false
)
{
Piwik::
checkUserHasViewAccess
(
$
idSite
);
$
archive
= Archive::
build
(
$
idSite
,
$
period
,
$
date
,
$
segment
);
$
columnNames
= Metrics::
getNumericRecordNameToColumnsMapping
();
$
archiveRecordNames
=
array_keys
(
$
columnNames
);
$
metricColumnNames
=
array_values
(
$
columnNames
);
$
dataTable
=
$
archive
->
getDataTableFromNumeric
(
$
archiveRecordNames
);
$
dataTable
->
filter
(
'
ReplaceColumnNames
'
, [
$
columnNames
]);
$
dataTable
->
filter
(
function
(
DataTable
$
dataTable
)
use
(
$
metricColumnNames
) {
foreach
(
$
dataTable
->
getRows
()
as
$
row
) {
foreach
(
$
metricColumnNames
as
$
metric
) {
$
row
->
setColumn
(
$
metric
, (
int
)
$
row
->
getColumn
(
$
metric
));
}
}
});
$
requestedColumns
= Piwik::
getArrayFromApiParameter
(
$
columns
);
$
columnsToShow
=
$
requestedColumns
?:
$
metricColumnNames
;
$
dataTable
->
queueFilter
(
'
ColumnDelete
'
, [
$
columnsToRemove
= [],
$
columnsToShow
]);
return
$
dataTable
;
}
}
Back
|
FazBrowse Home
|
New Git URL