File size: 1,426 Bytes
9304daa | 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 | <?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\Bandwidth\RecordBuilders;
use Piwik\ArchiveProcessor\RecordBuilder;
use Piwik\DataAccess\LogAggregator;
use Piwik\Plugins\Bandwidth\Columns\Bandwidth as BandwidthColumn;
abstract class Base extends RecordBuilder
{
protected function queryActionsByDimension(LogAggregator $logAggregator, $extraWhere = null, $joinLogActionOnColumn = false)
{
$column = new BandwidthColumn();
$column = $column->getColumnName();
$table = 'log_link_visit_action';
$field = 'sum_bandwidth';
$where = "$table.$column is not null";
$selects = [
"sum($table.$column) as `$field`",
];
if (!empty($extraWhere)) {
$where = "$where AND $extraWhere";
}
return $logAggregator->queryActionsByDimension([$column], $where, $selects, false, null, $joinLogActionOnColumn);
}
/**
* @param \Zend_Db_Statement $query
* @param string $field
*/
protected function sumNumericRecord($query, string $field): int
{
$total = 0;
while ($row = $query->fetch()) {
if (!empty($row[$field])) {
$total += $row[$field];
}
}
return (int)$total;
}
}
|