1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
<?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\DBStats\Reports;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
use Piwik\Plugins\CoreVisualizations\Visualizations\Graph;
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Pie;
/**
* Shows a datatable that displays how much space the tracker tables, numeric
* archive tables, report tables and other tables take up in the MySQL database.
*/
class GetDatabaseUsageSummary extends Base
{
protected function init()
{
$this->name = Piwik::translate('General_Overview');
}
public function getDefaultTypeViewDataTable()
{
return Pie::ID;
}
public function configureView(ViewDataTable $view)
{
$this->addBaseDisplayProperties($view);
$this->addPresentationFilters($view, $addTotalSizeColumn = true, $addPercentColumn = true);
$view->config->show_offset_information = false;
$view->config->show_pagination_control = false;
if ($view->isViewDataTableId(Graph::ID)) {
$view->config->show_all_ticks = true;
}
// translate the labels themselves
$valueToTranslationStr = array(
'tracker_data' => 'DBStats_TrackerTables',
'report_data' => 'DBStats_ReportTables',
'metric_data' => 'DBStats_MetricTables',
'other_data' => 'DBStats_OtherTables',
);
$translateSummaryLabel = function ($value) use ($valueToTranslationStr) {
return isset($valueToTranslationStr[$value])
? Piwik::translate($valueToTranslationStr[$value])
: $value;
};
$view->config->filters[] = array('ColumnCallbackReplace', array('label', $translateSummaryLabel), $isPriority = true);
}
}
|