| /** | |
| * 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\CustomDimensions\Dao; | |
| use Piwik\API\Request; | |
| use Piwik\DataTable; | |
| use Piwik\Date; | |
| use Piwik\Plugins\CustomDimensions\Archiver; | |
| class AutoSuggest | |
| { | |
| /** | |
| * @param array $dimension | |
| * @param int $idSite | |
| * @param int $maxValuesToReturn | |
| * @return array | |
| */ | |
| public function getMostUsedActionDimensionValues($dimension, $idSite, $maxValuesToReturn) | |
| { | |
| // we use first day from the month so it only needs to aggregate archives of two/three months and no weeks etc | |
| $date = Date::now()->subMonth(2)->setDay(1)->toString() . ',today'; | |
| /** @var DataTable $report */ | |
| $report = Request::processRequest('CustomDimensions.getCustomDimension', array( | |
| 'idDimension' => $dimension['idcustomdimension'], | |
| 'idSite' => $idSite, | |
| 'filter_offset' => 0, | |
| 'filter_limit' => $maxValuesToReturn, | |
| 'period' => 'range', | |
| 'date' => $date, | |
| 'disable_queued_filters' => 1, | |
| ), array()); | |
| $labels = $report->getColumn('label'); | |
| $notDefinedKey = array_search(Archiver::LABEL_CUSTOM_VALUE_NOT_DEFINED, $labels); | |
| if ($notDefinedKey !== false) { | |
| unset($labels[$notDefinedKey]); | |
| $labels = array_values($labels); | |
| } | |
| return $labels; | |
| } | |
| } | |