Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/API')
-rw-r--r--plugins/API/API.php28
-rw-r--r--plugins/API/ProcessedReport.php46
-rw-r--r--plugins/API/RowEvolution.php28
3 files changed, 58 insertions, 44 deletions
diff --git a/plugins/API/API.php b/plugins/API/API.php
index b93dae7902..e85974fd8e 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -8,17 +8,23 @@
* @category Piwik_Plugins
* @package Piwik_API
*/
+use Piwik\DataTable\Filter\ColumnDelete;
+use Piwik\DataTable\Row;
use Piwik\Metrics;
use Piwik\Piwik;
use Piwik\Common;
use Piwik\Config;
+use Piwik\Date;
+use Piwik\DataTable;
+use Piwik\Plugin;
+use Piwik\Translate;
require_once PIWIK_INCLUDE_PATH . '/core/Config.php';
/**
* @package Piwik_API
*/
-class Piwik_API extends Piwik_Plugin
+class Piwik_API extends Plugin
{
/**
* @see Piwik_Plugin::getListHooksRegistered
@@ -385,7 +391,7 @@ class Piwik_API_API
public function getMetadata($idSite, $apiModule, $apiAction, $apiParameters = array(), $language = false,
$period = false, $date = false, $hideMetricsDoc = false, $showSubtableReports = false)
{
- Piwik_Translate::getInstance()->reloadLanguage($language);
+ Translate::getInstance()->reloadLanguage($language);
$reporter = new Piwik_API_ProcessedReport();
$metadata = $reporter->getMetadata($idSite, $apiModule, $apiAction, $apiParameters, $language, $period, $date, $hideMetricsDoc, $showSubtableReports);
return $metadata;
@@ -397,7 +403,7 @@ class Piwik_API_API
*
* @param string $idSites Comma separated list of website Ids
* @param bool|string $period
- * @param bool|Piwik_Date $date
+ * @param bool|Date $date
* @param bool $hideMetricsDoc
* @param bool $showSubtableReports
* @return array
@@ -466,13 +472,13 @@ class Piwik_API_API
$params['columns'] = implode(',', $columns);
$dataTable = Piwik_API_Proxy::getInstance()->call($className, 'get', $params);
// make sure the table has all columns
- $array = ($dataTable instanceof Piwik_DataTable_Array ? $dataTable->getArray() : array($dataTable));
+ $array = ($dataTable instanceof DataTable\Map ? $dataTable->getArray() : array($dataTable));
foreach ($array as $table) {
// we don't support idSites=all&date=DATE1,DATE2
- if ($table instanceof Piwik_DataTable) {
+ if ($table instanceof DataTable) {
$firstRow = $table->getFirstRow();
if (!$firstRow) {
- $firstRow = new Piwik_DataTable_Row;
+ $firstRow = new Row;
$table->addRow($firstRow);
}
foreach ($columns as $column) {
@@ -500,7 +506,7 @@ class Piwik_API_API
private function mergeDataTables($table1, $table2)
{
// handle table arrays
- if ($table1 instanceof Piwik_DataTable_Array && $table2 instanceof Piwik_DataTable_Array) {
+ if ($table1 instanceof DataTable\Map && $table2 instanceof DataTable\Map) {
$subTables2 = $table2->getArray();
foreach ($table1->getArray() as $index => $subTable1) {
$subTable2 = $subTables2[$index];
@@ -511,7 +517,7 @@ class Piwik_API_API
$firstRow1 = $table1->getFirstRow();
$firstRow2 = $table2->getFirstRow();
- if ($firstRow2 instanceof Piwik_DataTable_Row) {
+ if ($firstRow2 instanceof Row) {
foreach ($firstRow2->getColumns() as $metric => $value) {
$firstRow1->setColumn($metric, $value);
}
@@ -525,7 +531,7 @@ class Piwik_API_API
*
* @param int $idSite
* @param string $period
- * @param Piwik_Date $date
+ * @param Date $date
* @param string $apiModule
* @param string $apiAction
* @param bool|string $label
@@ -591,7 +597,7 @@ class Piwik_API_API
throw new Exception("Requested segment not found.");
}
- $startDate = Piwik_Date::now()->subDay(60)->toString();
+ $startDate = Date::now()->subDay(60)->toString();
$requestLastVisits = "method=Live.getLastVisitsDetails
&idSite=$idSite
&period=range
@@ -622,7 +628,7 @@ class Piwik_API_API
$values = $table->getColumn($segmentName);
// Select also flattened keys (custom variables "page" scope, page URLs for one visit, page titles for one visit)
- $valuesBis = $table->getColumnsStartingWith($segmentName . Piwik_DataTable_Filter_ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP);
+ $valuesBis = $table->getColumnsStartingWith($segmentName . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP);
$values = array_merge($values, $valuesBis);
// remove false values (while keeping zeros)
diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php
index db30a13648..a008c82025 100644
--- a/plugins/API/ProcessedReport.php
+++ b/plugins/API/ProcessedReport.php
@@ -1,8 +1,12 @@
<?php
+use Piwik\DataTable\Simple;
+use Piwik\DataTable\Row;
use Piwik\Metrics;
use Piwik\Period;
use Piwik\Piwik;
use Piwik\Common;
+use Piwik\Date;
+use Piwik\DataTable;
use Piwik\Site;
/**
@@ -60,7 +64,7 @@ class Piwik_API_ProcessedReport
*
* @param string $idSites Comma separated list of website Ids
* @param bool|string $period
- * @param bool|Piwik_Date $date
+ * @param bool|Date $date
* @param bool $hideMetricsDoc
* @param bool $showSubtableReports
* @return array
@@ -272,7 +276,7 @@ class Piwik_API_ProcessedReport
$url = Piwik_Url::getQueryStringFromParameters($parameters);
$request = new Piwik_API_Request($url);
try {
- /** @var Piwik_DataTable */
+ /** @var DataTable */
$dataTable = $request->process();
} catch (Exception $e) {
throw new Exception("API returned an error: " . $e->getMessage() . " at " . basename($e->getFile()) . ":" . $e->getLine() . "\n");
@@ -307,14 +311,14 @@ class Piwik_API_ProcessedReport
* - remove metrics based on $reportMetadata['metrics']
* - add 0 valued metrics if $dataTable doesn't provide all $reportMetadata['metrics']
* - format metric values to a 'human readable' format
- * - extract row metadata to a separate Piwik_DataTable_Simple|Piwik_DataTable_Array : $rowsMetadata
+ * - extract row metadata to a separate Simple|Set : $rowsMetadata
* - translate metric names to a separate array : $columns
*
* @param int $idSite enables monetary value formatting based on site currency
- * @param Piwik_DataTable|Piwik_DataTable_Array $dataTable
+ * @param \Piwik\DataTable\Set $dataTable
* @param array $reportMetadata
* @param bool $showRawMetrics
- * @return array Piwik_DataTable_Simple|Piwik_DataTable_Array $newReport with human readable format & array $columns list of translated column names & Piwik_DataTable_Simple|Piwik_DataTable_Array $rowsMetadata
+ * @return array Simple|Set $newReport with human readable format & array $columns list of translated column names & Simple|Set $rowsMetadata
*/
private function handleTableReport($idSite, $dataTable, &$reportMetadata, $showRawMetrics = false)
{
@@ -356,17 +360,17 @@ class Piwik_API_ProcessedReport
$columns = $this->hideShowMetrics($columns);
- // $dataTable is an instance of Piwik_DataTable_Array when multiple periods requested
- if ($dataTable instanceof Piwik_DataTable_Array) {
- // Need a new Piwik_DataTable_Array to store the 'human readable' values
- $newReport = new Piwik_DataTable_Array();
+ // $dataTable is an instance of Set when multiple periods requested
+ if ($dataTable instanceof DataTable\Map) {
+ // Need a new Set to store the 'human readable' values
+ $newReport = new DataTable\Map();
$newReport->setKeyName("prettyDate");
- // Need a new Piwik_DataTable_Array to store report metadata
- $rowsMetadata = new Piwik_DataTable_Array();
+ // Need a new Set to store report metadata
+ $rowsMetadata = new DataTable\Map();
$rowsMetadata->setKeyName("prettyDate");
- // Process each Piwik_DataTable_Simple entry
+ // Process each Simple entry
foreach ($dataTable->getArray() as $label => $simpleDataTable) {
$this->removeEmptyColumns($columns, $reportMetadata, $simpleDataTable);
@@ -395,7 +399,7 @@ class Piwik_API_ProcessedReport
*/
private function removeEmptyColumns(&$columns, &$reportMetadata, $dataTable)
{
- $emptyColumns = $dataTable->getMetadata(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME);
+ $emptyColumns = $dataTable->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME);
if (!is_array($emptyColumns)) {
return;
@@ -473,26 +477,26 @@ class Piwik_API_ProcessedReport
* - remove metrics based on $reportMetadata['metrics']
* - add 0 valued metrics if $simpleDataTable doesn't provide all $reportMetadata['metrics']
* - format metric values to a 'human readable' format
- * - extract row metadata to a separate Piwik_DataTable_Simple $rowsMetadata
+ * - extract row metadata to a separate Simple $rowsMetadata
*
* @param int $idSite enables monetary value formatting based on site currency
- * @param Piwik_DataTable_Simple $simpleDataTable
+ * @param Simple $simpleDataTable
* @param array $metadataColumns
* @param boolean $hasDimension
* @param bool $returnRawMetrics If set to true, the original metrics will be returned
*
- * @return array Piwik_DataTable $enhancedDataTable filtered metrics with human readable format & Piwik_DataTable_Simple $rowsMetadata
+ * @return array DataTable $enhancedDataTable filtered metrics with human readable format & Simple $rowsMetadata
*/
private function handleSimpleDataTable($idSite, $simpleDataTable, $metadataColumns, $hasDimension, $returnRawMetrics = false)
{
// new DataTable to store metadata
- $rowsMetadata = new Piwik_DataTable();
+ $rowsMetadata = new DataTable();
// new DataTable to store 'human readable' values
if ($hasDimension) {
- $enhancedDataTable = new Piwik_DataTable();
+ $enhancedDataTable = new DataTable();
} else {
- $enhancedDataTable = new Piwik_DataTable_Simple();
+ $enhancedDataTable = new Simple();
}
// add missing metrics
@@ -506,7 +510,7 @@ class Piwik_API_ProcessedReport
}
foreach ($simpleDataTable->getRows() as $row) {
- $enhancedRow = new Piwik_DataTable_Row();
+ $enhancedRow = new Row();
$enhancedDataTable->addRow($enhancedRow);
$rowMetrics = $row->getColumns();
foreach ($rowMetrics as $columnName => $columnValue) {
@@ -528,7 +532,7 @@ class Piwik_API_ProcessedReport
// Create a row metadata only if there are metadata to insert
if (count($rowMetadata) > 0 || !is_null($idSubDataTable)) {
- $metadataRow = new Piwik_DataTable_Row();
+ $metadataRow = new Row();
$rowsMetadata->addRow($metadataRow);
foreach ($rowMetadata as $metadataKey => $metadataValue) {
diff --git a/plugins/API/RowEvolution.php b/plugins/API/RowEvolution.php
index 13b1250a1c..ec6b3c06fc 100644
--- a/plugins/API/RowEvolution.php
+++ b/plugins/API/RowEvolution.php
@@ -8,9 +8,13 @@
* @category Piwik_Plugins
* @package Piwik_API
*/
+use Piwik\DataTable\Filter\CalculateEvolutionFilter;
+use Piwik\DataTable\Filter\SafeDecodeLabel;
+use Piwik\DataTable\Row;
use Piwik\Period;
use Piwik\Piwik;
use Piwik\Common;
+use Piwik\DataTable;
/**
* This class generates a Row evolution dataset, from input request
@@ -104,7 +108,7 @@ class Piwik_API_RowEvolution
/**
* Get row evolution for a single label
- * @param Piwik_DataTable $dataTable
+ * @param DataTable $dataTable
* @param array $metadata
* @param string $apiModule
* @param string $apiAction
@@ -119,10 +123,10 @@ class Piwik_API_RowEvolution
$logo = $actualLabel = false;
$urlFound = false;
foreach ($dataTable->getArray() as $date => $subTable) {
- /** @var $subTable Piwik_DataTable */
+ /** @var $subTable DataTable */
$subTable->applyQueuedFilters();
if ($subTable->getRowsCount() > 0) {
- /** @var $row Piwik_DataTable_Row */
+ /** @var $row Row */
$row = $subTable->getFirstRow();
if (!$actualLabel) {
@@ -155,7 +159,7 @@ class Piwik_API_RowEvolution
}
$return = array(
- 'label' => Piwik_DataTable_Filter_SafeDecodeLabel::safeDecodeLabel($actualLabel),
+ 'label' => SafeDecodeLabel::safeDecodeLabel($actualLabel),
'reportData' => $dataTable,
'metadata' => $metadata
);
@@ -190,7 +194,7 @@ class Piwik_API_RowEvolution
* @param $segment
* @param $idGoal
* @throws Exception
- * @return Piwik_DataTable_Array|Piwik_DataTable
+ * @return DataTable\Map|DataTable
*/
private function loadRowEvolutionDataFromAPI($idSite, $period, $date, $apiModule, $apiAction, $label = false, $segment = false, $idGoal = false)
{
@@ -289,7 +293,7 @@ class Piwik_API_RowEvolution
* Given the Row evolution dataTable, and the associated metadata,
* enriches the metadata with min/max values, and % change between the first period and the last one
* @param array $metadata
- * @param Piwik_DataTable_Array $dataTable
+ * @param DataTable\Map $dataTable
*/
private function enhanceRowEvolutionMetaData(&$metadata, $dataTable)
{
@@ -345,8 +349,8 @@ class Piwik_API_RowEvolution
continue;
}
- $change = Piwik_DataTable_Filter_CalculateEvolutionFilter::calculate($last, $first, $quotientPrecision = 0);
- $change = Piwik_DataTable_Filter_CalculateEvolutionFilter::prependPlusSignToNumber($change);
+ $change = CalculateEvolutionFilter::calculate($last, $first, $quotientPrecision = 0);
+ $change = CalculateEvolutionFilter::prependPlusSignToNumber($change);
$metricsResult[$metric]['change'] = $change;
}
@@ -391,7 +395,7 @@ class Piwik_API_RowEvolution
// array('label' => $label, 'column' => $value).
$dataTableMulti = $dataTable->getEmptyClone();
foreach ($dataTable->getArray() as $tableLabel => $table) {
- $newRow = new Piwik_DataTable_Row();
+ $newRow = new Row();
foreach ($labels as $labelIdx => $label) {
$row = $this->getRowEvolutionRowFromLabelIdx($table, $labelIdx);
@@ -429,7 +433,7 @@ class Piwik_API_RowEvolution
$label .= ' (' . $metadata['columns'][$column] . ')';
}
$metricName = $column . '_' . $labelIndex;
- $metadata['metrics'][$metricName] = Piwik_DataTable_Filter_SafeDecodeLabel::safeDecodeLabel($label);
+ $metadata['metrics'][$metricName] = SafeDecodeLabel::safeDecodeLabel($label);
if (!empty($logos[$labelIndex])) {
$metadata['logos'][$metricName] = $logos[$labelIndex];
@@ -448,9 +452,9 @@ class Piwik_API_RowEvolution
/**
* Returns the row in a datatable by its Piwik_API_DataTableManipulator_LabelFilter::FLAG_IS_ROW_EVOLUTION metadata.
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param int $labelIdx
- * @return Piwik_DataTable_Row|false
+ * @return Row|false
*/
private function getRowEvolutionRowFromLabelIdx($table, $labelIdx)
{