|
Server : Apache System : Linux s1230 5.15.0-139-generic #149~20.04.1 SMP Tue Jul 14 11:21:49 UTC 2026 x86_64 User : p141464 ( 418825) PHP Version : 7.4.33.12 Disable Function : NONE Directory : /html/KMU-CSR-PLANER/wp-content/plugins/matomo/app/plugins/Resolution/ |
Upload File : |
<?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\Resolution;
use Exception;
use Piwik\Archive;
use Piwik\Container\StaticContainer;
use Piwik\Piwik;
/**
* @see plugins/Resolution/functions.php
*/
require_once PIWIK_INCLUDE_PATH . '/plugins/Resolution/functions.php';
/**
* @method static \Piwik\Plugins\Resolution\API getInstance()
*/
class API extends \Piwik\Plugin\API
{
protected function getDataTable($name, $idSite, $period, $date, $segment)
{
Piwik::checkUserHasViewAccess($idSite);
$archive = Archive::build($idSite, $period, $date, $segment);
$dataTable = $archive->getDataTable($name);
$dataTable->queueFilter('ReplaceColumnNames');
$dataTable->queueFilter('ReplaceSummaryRowLabel');
return $dataTable;
}
public function getResolution($idSite, $period, $date, $segment = \false)
{
$translator = StaticContainer::get('Piwik\\Translation\\Translator');
if (\Piwik\Plugins\Resolution\Resolution::isScreenResolutionDetectionDisabledByCompliancePolicy($idSite)) {
throw new Exception($translator->translate('Resolution_ScreenResolutionReportDisabledByCompliancePolicy'));
}
$dataTable = $this->getDataTable(\Piwik\Plugins\Resolution\Archiver::RESOLUTION_RECORD_NAME, $idSite, $period, $date, $segment);
$dataTable->filter('AddSegmentValue');
return $dataTable;
}
public function getConfiguration($idSite, $period, $date, $segment = \false)
{
$dataTable = $this->getDataTable(\Piwik\Plugins\Resolution\Archiver::CONFIGURATION_RECORD_NAME, $idSite, $period, $date, $segment);
// use GroupBy filter to avoid duplicate rows if old reports are displayed
$dataTable->filter('GroupBy', array('label', __NAMESPACE__ . '\\getConfigurationLabel'));
return $dataTable;
}
}