77 lines
2.1 KiB
PHP
77 lines
2.1 KiB
PHP
<?php
|
|
/**
|
|
* Piwik - Open source web analytics
|
|
*
|
|
* @link http://piwik.org
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*
|
|
*/
|
|
namespace Piwik\Plugins\CoreVisualizations\Visualizations;
|
|
|
|
use Piwik\Plugin\Visualization;
|
|
use Piwik\View;
|
|
use Piwik\Common;
|
|
use Piwik\Period;
|
|
use Piwik\API\Request as ApiRequest;
|
|
|
|
/**
|
|
* DataTable visualization that shows DataTable data in an HTML table.
|
|
*
|
|
* @property HtmlTable\Config $config
|
|
*/
|
|
class HtmlTable extends Visualization
|
|
{
|
|
const ID = 'table';
|
|
const TEMPLATE_FILE = "@CoreVisualizations/_dataTableViz_htmlTable.twig";
|
|
const FOOTER_ICON = 'plugins/Zeitgeist/images/table.png';
|
|
const FOOTER_ICON_TITLE = 'General_DisplaySimpleTable';
|
|
|
|
public static function getDefaultConfig()
|
|
{
|
|
return new HtmlTable\Config();
|
|
}
|
|
|
|
public static function getDefaultRequestConfig()
|
|
{
|
|
return new HtmlTable\RequestConfig();
|
|
}
|
|
|
|
public function beforeRender()
|
|
{
|
|
if ($this->requestConfig->idSubtable
|
|
&& $this->config->show_embedded_subtable) {
|
|
|
|
$this->config->show_visualization_only = true;
|
|
}
|
|
|
|
// we do not want to get a datatable\map
|
|
$period = Common::getRequestVar('period', 'day', 'string');
|
|
if (Period\Range::parseDateRange($period)) {
|
|
$period = 'range';
|
|
}
|
|
|
|
if ($this->dataTable->getRowsCount()) {
|
|
|
|
$request = new ApiRequest(array(
|
|
'method' => 'API.get',
|
|
'module' => 'API',
|
|
'action' => 'get',
|
|
'format' => 'original',
|
|
'filter_limit' => '-1',
|
|
'disable_generic_filters' => 1,
|
|
'expanded' => 0,
|
|
'flat' => 0,
|
|
'filter_offset' => 0,
|
|
'period' => $period,
|
|
'showColumns' => implode(',', $this->config->columns_to_display),
|
|
'columns' => implode(',', $this->config->columns_to_display)
|
|
));
|
|
|
|
$dataTable = $request->process();
|
|
$this->assignTemplateVar('siteSummary', $dataTable);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|