1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-21 22:47:43 +00:00
Files
matomo/plugins/PagePerformance/Visualizations/PerformanceColumns.php
Michal Kleiner 9a3ef94df6 [Coding Style] Enable rule PSR12.Files.FileHeader + unify file headers (#22132)
* [Coding Style] Enable rule PSR12.Files.FileHeader

* Apply CS

* Replace Piwik with Matomo in file headers

* Unify file headers (position, no. of lines, https links)

* Rebuild dist files

* Apply CS

* Fix system test that relies on line numbers in a file that had the file header updated

---------

Co-authored-by: Stefan Giehl <stefan@matomo.org>
2024-04-20 20:50:47 +02:00

88 خطوط
2.5 KiB
PHP

<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Plugins\PagePerformance\Visualizations;
use Piwik\DataTable;
use Piwik\DbHelper;
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
use Piwik\Plugins\PagePerformance\Metrics;
use Piwik\Plugins\PagePerformance\PagePerformance;
/**
* DataTable Visualization that derives from HtmlTable and show performance columns.
*/
class PerformanceColumns extends HtmlTable
{
public const ID = 'tablePerformanceColumns';
public const FOOTER_ICON = 'icon-page-performance';
public const FOOTER_ICON_TITLE = 'PagePerformance_PerformanceTable';
public function beforeRender()
{
parent::beforeRender();
}
public static function canDisplayViewDataTable($viewDataTable)
{
$request = $viewDataTable->getRequestArray();
if ($viewDataTable->config->show_table_performance === false) {
return false;
}
$module = $request['module'] ?? '';
$action = $request['action'] ?? '';
if ($module === 'Widgetize') {
$module = $request['moduleToWidgetize'] ?: $module;
$action = $request['actionToWidgetize'] ?: $action;
}
if ('Actions' === $module && in_array($action, PagePerformance::$availableForMethods)) {
return true;
}
return false;
}
public function beforeGenericFiltersAreAppliedToLoadedDataTable()
{
$this->config->datatable_css_class = 'dataTableVizAllColumns';
$properties = $this->config;
$this->dataTable->filter(function (DataTable $dataTable) use ($properties) {
$properties->columns_to_display = array_merge([
'label',
'nb_visits',
], array_keys(Metrics::getAllPagePerformanceMetrics()));
if (version_compare(DbHelper::getInstallVersion(), '4.0.0-b1', '<')) {
$properties->columns_to_display[] = 'avg_time_generation';
}
});
parent::beforeGenericFiltersAreAppliedToLoadedDataTable();
}
public function beforeLoadDataTable()
{
parent::beforeLoadDataTable();
unset($this->requestConfig->request_parameters_to_modify['pivotBy']);
unset($this->requestConfig->request_parameters_to_modify['pivotByColumn']);
}
protected function isPivoted()
{
return false; // Pivot not supported
}
}