|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / Mirasvit / Report / Model / |
Filename | /home/dev2.destoffenstraat.com/app/code/Mirasvit/Report/Model/AbstractReport.php |
Size | 9.39 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 15-Oct-2024 20:30 |
Last accessed | 22-Aug-2025 02:07 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Mirasvit
*
* This source file is subject to the Mirasvit Software License, which is available at https://mirasvit.com/license/.
* Do not edit or add to this file if you wish to upgrade the to newer versions in the future.
* If you wish to customize this module for your needs.
* Please refer to http://www.magentocommerce.com for more information.
*
* @category Mirasvit
* @package mirasvit/module-report
* @version 1.4.38
* @copyright Copyright (C) 2024 Mirasvit (https://mirasvit.com/)
*/
namespace Mirasvit\Report\Model;
use Magento\Framework\Api\AbstractSimpleObject;
use Mirasvit\Report\Api\Data\ReportInterface;
use Mirasvit\ReportApi\Api\RequestInterface;
use Mirasvit\ReportApi\Processor\ResponseItem;
/**
* @SuppressWarnings(PHPMD.ExcessivePublicCount)
*/
abstract class AbstractReport extends AbstractSimpleObject implements ReportInterface
{
protected $context;
protected $provider;
/**
* @var int
*/
private $version = 2;
public function __construct(
Context $context
) {
$this->context = $context;
$this->provider = $this->context->getProvider();
parent::__construct([
self::COLUMNS => [],
self::DIMENSIONS => [],
self::INTERNAL_COLUMNS => [],
self::INTERNAL_FILTERS => [],
self::PRIMARY_DIMENSIONS => [],
self::PRIMARY_FILTERS => [],
self::GRID_CONFIG => new GridConfig(),
self::CHART_CONFIG => new ChartConfig(),
self::SORT_ORDERS => []
]);
}
/**
* @return string
*/
public function getIdentifier()
{
$code = str_replace('Mirasvit\Reports\Reports\\', '', get_class($this));
return strtolower(str_replace(['\Interceptor', '\\'], ['', '_'], $code));
}
/**
* {@inheritdoc}
*/
public function getTable()
{
return $this->_get(self::TABLE);
}
/**
* {@inheritdoc}
*/
public function setTable($tableName)
{
return $this->setData(self::TABLE, $tableName);
}
/** STATE */
/**
* {@inheritdoc}
*/
public function getColumns()
{
return $this->_get(self::COLUMNS);
}
/**
* {@inheritdoc}
*/
public function setColumns(array $columns)
{
return $this->setData(self::COLUMNS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getDimensions()
{
return $this->_get(self::DIMENSIONS);
}
/**
* {@inheritdoc}
*/
public function setDimensions(array $columns)
{
if ($this->version == 1) {
return $this->setData(self::PRIMARY_DIMENSIONS, array_values($columns));
}
return $this->setData(self::DIMENSIONS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getInternalColumns()
{
return $this->_get(self::INTERNAL_COLUMNS);
}
/**
* {@inheritdoc}
*/
public function setInternalColumns(array $columns)
{
return $this->setData(self::INTERNAL_COLUMNS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getInternalFilters()
{
return $this->_get(self::INTERNAL_FILTERS);
}
/**
* {@inheritdoc}
*/
public function setInternalFilters(array $filters)
{
return $this->setData(self::INTERNAL_FILTERS, array_values($filters));
}
/** SCHEMA */
/**
* {@inheritdoc}
*/
public function getPrimaryDimensions()
{
return $this->_get(self::PRIMARY_DIMENSIONS);
}
/**
* {@inheritdoc}
*/
public function setPrimaryDimensions(array $columns)
{
return $this->setData(self::PRIMARY_DIMENSIONS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getFilters()
{
return $this->_get(self::FILTERS);
}
/**
* {@inheritdoc}
*/
public function setFilters(array $filters)
{
return $this->setData(self::FILTERS, array_values($filters));
}
/**
* {@inheritdoc}
*/
public function getPrimaryFilters()
{
return $this->_get(self::PRIMARY_FILTERS);
}
/**
* {@inheritdoc}
*/
public function setPrimaryFilters(array $columns)
{
return $this->setData(self::PRIMARY_FILTERS, $columns);
}
/**
* @return \Mirasvit\Report\Model\GridConfig
*/
public function getGridConfig()
{
return $this->_get(self::GRID_CONFIG);
}
/**
* @return \Mirasvit\Report\Model\ChartConfig
*/
public function getChartConfig()
{
return $this->_get(self::CHART_CONFIG);
}
/**
* @param ResponseItem $item
* @param RequestInterface $request
*
* @return array
*/
public function getActions(ResponseItem $item, RequestInterface $request)
{
return [];
}
/**
* @param string $report
* @param array $filters
*
* @return string
*/
public function getReportUrl($report, $filters = [])
{
return $this->context->urlManager->getUrl(
'reports/report/view',
[
'report' => $report,
'_query' => [
'filters' => $filters,
],
]
);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addFastFilters($columns)
{
$this->version = 1;
$columns = array_merge($this->getPrimaryFilters(), $columns);
$columns = array_unique($columns);
return $this->setPrimaryFilters($columns);
}
/**
* @param mixed $columns
*
* @return $this
* @deprecated
*/
public function addColumns($columns)
{
$this->version = 1;
return $this;
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addDimensions($columns)
{
$this->version = 1;
$columns = array_merge($this->getPrimaryDimensions(), $columns);
$columns = array_unique($columns);
return $this->setPrimaryDimensions($columns);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function setDefaultColumns($columns)
{
$this->version = 1;
return $this->setColumns($columns);
}
/**
* @param string $column
*
* @return $this
* @deprecated
*/
public function setDefaultDimension($column)
{
$this->version = 1;
return $this->setData(self::DIMENSIONS, array_values([$column]));
}
/**
* @param array $filters
*
* @return $this
* @deprecated
*/
public function setDefaultFilters($filters)
{
return $this->setInternalFilters($filters);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function setRequiredColumns($columns)
{
return $this->setInternalColumns($columns);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addDefaultColumns($columns)
{
$this->version = 1;
return $this->setColumns($columns);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addAvailableFilters($columns)
{
return $this;
}
/**
* @return array
* @deprecated
*/
public function getAllColumns()
{
return [];
}
public function getSortOrders(): array
{
return $this->_get(self::SORT_ORDERS);
}
public function setSortOrders(array $orders): ReportInterface
{
return $this->setData(self::SORT_ORDERS, $orders);
}
public function getIsSharingEnabled(): bool
{
return (bool)$this->_get(self::SHARE_ENABLED);
}
public function setIsSharingEnabled(bool $value): ReportInterface
{
return $this->setData(self::SHARE_ENABLED, $value);
}
public function getShareIdentifier(): ?string
{
return $this->_get(self::SHARE_IDENTIFIER) ?: null;
}
public function setShareIdentifier(string $value = null): ReportInterface
{
return $this->setData(self::SHARE_IDENTIFIER, $value);
}
public function getReportIdentifier(): ?string
{
return $this->_get(self::REPORT_IDENTIFIER) ?: null;
}
public function setReportIdentifier(string $value = null): ReportInterface
{
return $this->setData(self::REPORT_IDENTIFIER, $value);
}
public function getIsCustomized(): bool
{
return (bool)$this->_get(self::IS_CUSTOMIZED);
}
public function setIsCustomized(bool $value): ReportInterface
{
return $this->setData(self::IS_CUSTOMIZED, $value);
}
public function setPageSize(int $value): ReportInterface
{
return $this->setData(self::PAGE_SIZE, $value);
}
public function getPageSize(): int
{
return $this->_get(self::PAGE_SIZE) ? (int)$this->_get(self::PAGE_SIZE) : 20;
}
public function getTimeRange(): ?string
{
return $this->_get(self::TIME_RANGE);
}
public function setTimeRange(string $value): ReportInterface
{
return $this->setData(self::TIME_RANGE, $value);
}
}
/**
* Mirasvit
*
* This source file is subject to the Mirasvit Software License, which is available at https://mirasvit.com/license/.
* Do not edit or add to this file if you wish to upgrade the to newer versions in the future.
* If you wish to customize this module for your needs.
* Please refer to http://www.magentocommerce.com for more information.
*
* @category Mirasvit
* @package mirasvit/module-report
* @version 1.4.38
* @copyright Copyright (C) 2024 Mirasvit (https://mirasvit.com/)
*/
namespace Mirasvit\Report\Model;
use Magento\Framework\Api\AbstractSimpleObject;
use Mirasvit\Report\Api\Data\ReportInterface;
use Mirasvit\ReportApi\Api\RequestInterface;
use Mirasvit\ReportApi\Processor\ResponseItem;
/**
* @SuppressWarnings(PHPMD.ExcessivePublicCount)
*/
abstract class AbstractReport extends AbstractSimpleObject implements ReportInterface
{
protected $context;
protected $provider;
/**
* @var int
*/
private $version = 2;
public function __construct(
Context $context
) {
$this->context = $context;
$this->provider = $this->context->getProvider();
parent::__construct([
self::COLUMNS => [],
self::DIMENSIONS => [],
self::INTERNAL_COLUMNS => [],
self::INTERNAL_FILTERS => [],
self::PRIMARY_DIMENSIONS => [],
self::PRIMARY_FILTERS => [],
self::GRID_CONFIG => new GridConfig(),
self::CHART_CONFIG => new ChartConfig(),
self::SORT_ORDERS => []
]);
}
/**
* @return string
*/
public function getIdentifier()
{
$code = str_replace('Mirasvit\Reports\Reports\\', '', get_class($this));
return strtolower(str_replace(['\Interceptor', '\\'], ['', '_'], $code));
}
/**
* {@inheritdoc}
*/
public function getTable()
{
return $this->_get(self::TABLE);
}
/**
* {@inheritdoc}
*/
public function setTable($tableName)
{
return $this->setData(self::TABLE, $tableName);
}
/** STATE */
/**
* {@inheritdoc}
*/
public function getColumns()
{
return $this->_get(self::COLUMNS);
}
/**
* {@inheritdoc}
*/
public function setColumns(array $columns)
{
return $this->setData(self::COLUMNS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getDimensions()
{
return $this->_get(self::DIMENSIONS);
}
/**
* {@inheritdoc}
*/
public function setDimensions(array $columns)
{
if ($this->version == 1) {
return $this->setData(self::PRIMARY_DIMENSIONS, array_values($columns));
}
return $this->setData(self::DIMENSIONS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getInternalColumns()
{
return $this->_get(self::INTERNAL_COLUMNS);
}
/**
* {@inheritdoc}
*/
public function setInternalColumns(array $columns)
{
return $this->setData(self::INTERNAL_COLUMNS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getInternalFilters()
{
return $this->_get(self::INTERNAL_FILTERS);
}
/**
* {@inheritdoc}
*/
public function setInternalFilters(array $filters)
{
return $this->setData(self::INTERNAL_FILTERS, array_values($filters));
}
/** SCHEMA */
/**
* {@inheritdoc}
*/
public function getPrimaryDimensions()
{
return $this->_get(self::PRIMARY_DIMENSIONS);
}
/**
* {@inheritdoc}
*/
public function setPrimaryDimensions(array $columns)
{
return $this->setData(self::PRIMARY_DIMENSIONS, array_values($columns));
}
/**
* {@inheritdoc}
*/
public function getFilters()
{
return $this->_get(self::FILTERS);
}
/**
* {@inheritdoc}
*/
public function setFilters(array $filters)
{
return $this->setData(self::FILTERS, array_values($filters));
}
/**
* {@inheritdoc}
*/
public function getPrimaryFilters()
{
return $this->_get(self::PRIMARY_FILTERS);
}
/**
* {@inheritdoc}
*/
public function setPrimaryFilters(array $columns)
{
return $this->setData(self::PRIMARY_FILTERS, $columns);
}
/**
* @return \Mirasvit\Report\Model\GridConfig
*/
public function getGridConfig()
{
return $this->_get(self::GRID_CONFIG);
}
/**
* @return \Mirasvit\Report\Model\ChartConfig
*/
public function getChartConfig()
{
return $this->_get(self::CHART_CONFIG);
}
/**
* @param ResponseItem $item
* @param RequestInterface $request
*
* @return array
*/
public function getActions(ResponseItem $item, RequestInterface $request)
{
return [];
}
/**
* @param string $report
* @param array $filters
*
* @return string
*/
public function getReportUrl($report, $filters = [])
{
return $this->context->urlManager->getUrl(
'reports/report/view',
[
'report' => $report,
'_query' => [
'filters' => $filters,
],
]
);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addFastFilters($columns)
{
$this->version = 1;
$columns = array_merge($this->getPrimaryFilters(), $columns);
$columns = array_unique($columns);
return $this->setPrimaryFilters($columns);
}
/**
* @param mixed $columns
*
* @return $this
* @deprecated
*/
public function addColumns($columns)
{
$this->version = 1;
return $this;
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addDimensions($columns)
{
$this->version = 1;
$columns = array_merge($this->getPrimaryDimensions(), $columns);
$columns = array_unique($columns);
return $this->setPrimaryDimensions($columns);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function setDefaultColumns($columns)
{
$this->version = 1;
return $this->setColumns($columns);
}
/**
* @param string $column
*
* @return $this
* @deprecated
*/
public function setDefaultDimension($column)
{
$this->version = 1;
return $this->setData(self::DIMENSIONS, array_values([$column]));
}
/**
* @param array $filters
*
* @return $this
* @deprecated
*/
public function setDefaultFilters($filters)
{
return $this->setInternalFilters($filters);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function setRequiredColumns($columns)
{
return $this->setInternalColumns($columns);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addDefaultColumns($columns)
{
$this->version = 1;
return $this->setColumns($columns);
}
/**
* @param array $columns
*
* @return $this
* @deprecated
*/
public function addAvailableFilters($columns)
{
return $this;
}
/**
* @return array
* @deprecated
*/
public function getAllColumns()
{
return [];
}
public function getSortOrders(): array
{
return $this->_get(self::SORT_ORDERS);
}
public function setSortOrders(array $orders): ReportInterface
{
return $this->setData(self::SORT_ORDERS, $orders);
}
public function getIsSharingEnabled(): bool
{
return (bool)$this->_get(self::SHARE_ENABLED);
}
public function setIsSharingEnabled(bool $value): ReportInterface
{
return $this->setData(self::SHARE_ENABLED, $value);
}
public function getShareIdentifier(): ?string
{
return $this->_get(self::SHARE_IDENTIFIER) ?: null;
}
public function setShareIdentifier(string $value = null): ReportInterface
{
return $this->setData(self::SHARE_IDENTIFIER, $value);
}
public function getReportIdentifier(): ?string
{
return $this->_get(self::REPORT_IDENTIFIER) ?: null;
}
public function setReportIdentifier(string $value = null): ReportInterface
{
return $this->setData(self::REPORT_IDENTIFIER, $value);
}
public function getIsCustomized(): bool
{
return (bool)$this->_get(self::IS_CUSTOMIZED);
}
public function setIsCustomized(bool $value): ReportInterface
{
return $this->setData(self::IS_CUSTOMIZED, $value);
}
public function setPageSize(int $value): ReportInterface
{
return $this->setData(self::PAGE_SIZE, $value);
}
public function getPageSize(): int
{
return $this->_get(self::PAGE_SIZE) ? (int)$this->_get(self::PAGE_SIZE) : 20;
}
public function getTimeRange(): ?string
{
return $this->_get(self::TIME_RANGE);
}
public function setTimeRange(string $value): ReportInterface
{
return $this->setData(self::TIME_RANGE, $value);
}
}