AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.193
Web Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : awebpaca ( 35430)
PHP Version : 8.5.0
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/awebpaca/piwik/plugins/PagePerformance/Visualizations/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/awebpaca/piwik/plugins/PagePerformance/Visualizations/PerformanceColumns.php
<?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\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
{
    const ID                = 'tablePerformanceColumns';
    const FOOTER_ICON       = 'icon-page-performance';
    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
    }
}

Anon7 - 2022
AnonSec Team