20
20
use Piwik \Period ;
21
21
use Piwik \Period \Range ;
22
22
use Piwik \Piwik ;
23
+ use Piwik \Plugins \CoreHome \Columns \Metrics \EvolutionMetric ;
23
24
use Piwik \Plugins \Goals \Archiver ;
25
+ use Piwik \Plugins \MultiSites \Columns \Metrics \EcommerceOnlyEvolutionMetric ;
24
26
use Piwik \Plugins \SitesManager \API as APISitesManager ;
25
27
use Piwik \Scheduler \Scheduler ;
26
28
use Piwik \SettingsPiwik ;
@@ -174,13 +176,11 @@ private function getSitesIdFromPattern(?string $pattern, ?string $_restrictSites
174
176
$ sites = Request::processRequest (
175
177
'SitesManager.getPatternMatchSites ' ,
176
178
[
177
- 'pattern ' => $ pattern ,
178
- // added because caller could overwrite these
179
- 'limit ' => SettingsPiwik::getWebsitesCountToDisplay (),
180
- 'showColumns ' => '' ,
181
- 'hideColumns ' => '' ,
182
- 'format ' => 'original '
183
- ]
179
+ 'pattern ' => $ pattern ,
180
+ 'limit ' => SettingsPiwik::getWebsitesCountToDisplay (),
181
+ 'format ' => 'original '
182
+ ],
183
+ []
184
184
);
185
185
186
186
if (!empty ($ sites )) {
@@ -239,7 +239,7 @@ public function getOne(
239
239
* @param null|string $segment
240
240
* @param string $pattern
241
241
* @param int $filter_limit
242
- * @return array[]
242
+ * @return array<string,mixed>
243
243
* @throws Exception
244
244
*/
245
245
public function getAllWithGroups (
@@ -284,7 +284,6 @@ private function buildDataTable(
284
284
bool $ multipleWebsitesRequested ,
285
285
?array $ showColumns
286
286
): DataTableInterface {
287
- // build the archive type used to query archive data
288
287
$ archive = Archive::build (
289
288
$ idSites ,
290
289
$ period ,
@@ -430,8 +429,11 @@ private function calculateEvolutionPercentages(
430
429
array $ apiMetrics
431
430
): void {
432
431
if (get_class ($ currentData ) != get_class ($ pastData )) { // sanity check for regressions
433
- throw new Exception ("Expected \$pastData to be of type " . get_class ($ currentData ) . " - got "
434
- . get_class ($ pastData ) . ". " );
432
+ throw new Exception (sprintf (
433
+ 'Expected $pastData to be of type %1$s - got %2$s. ' ,
434
+ get_class ($ currentData ),
435
+ get_class ($ pastData )
436
+ ));
435
437
}
436
438
437
439
if ($ currentData instanceof DataTable \Map) {
@@ -444,8 +446,8 @@ private function calculateEvolutionPercentages(
444
446
$ extraProcessedMetrics = $ currentData ->getMetadata (DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME );
445
447
foreach ($ apiMetrics as $ metricSettings ) {
446
448
$ evolutionMetricClass = $ this ->isEcommerceEvolutionMetric ($ metricSettings )
447
- ? " Piwik \\ Plugins \\ MultiSites \\ Columns \\ Metrics \\ EcommerceOnlyEvolutionMetric "
448
- : " Piwik \\ Plugins \\ CoreHome \\ Columns \\ Metrics \\ EvolutionMetric " ;
449
+ ? EcommerceOnlyEvolutionMetric::class
450
+ : EvolutionMetric::class ;
449
451
450
452
$ extraProcessedMetrics = is_array ($ extraProcessedMetrics ) ? $ extraProcessedMetrics : [];
451
453
$ extraProcessedMetrics [] = new $ evolutionMetricClass (
@@ -573,7 +575,7 @@ private function setMetricsTotalsMetadata(DataTableInterface $dataTable, array $
573
575
*
574
576
* @param DataTable|DataTable\Map $dataTable
575
577
* @param DataTable|DataTable\Map $pastData
576
- * @param array $apiMetrics Metrics info.
578
+ * @param array<string,string> $apiMetrics Metrics info.
577
579
*/
578
580
private function setPreviousMetricsTotalsMetadata (
579
581
DataTableInterface $ dataTable ,
@@ -656,14 +658,10 @@ private static function getLastPeriodMetadataName(string $name): string
656
658
657
659
private function populateLabel (DataTableInterface $ dataTable ): void
658
660
{
661
+ // ensure label column is set and always the first column
659
662
$ dataTable ->filter (function (DataTable $ table ) {
660
663
foreach ($ table ->getRowsWithoutSummaryRow () as $ row ) {
661
664
$ row ->setColumn ('label ' , $ row ->getMetadata ('idsite ' ));
662
- }
663
- });
664
- // make sure label column is always first column
665
- $ dataTable ->queueFilter (function (DataTable $ table ) {
666
- foreach ($ table ->getRowsWithoutSummaryRow () as $ row ) {
667
665
$ row ->setColumns (array_merge (['label ' => $ row ->getColumn ('label ' )], $ row ->getColumns ()));
668
666
}
669
667
});
0 commit comments