/** * @param DataTable $table */ public function filter($table) { $userId = new UserId(); if (!$userId->hasDataTableUsers($table) && !$userId->isUsedInAtLeastOneSite(array($this->idSite), $this->period, $this->date)) { $table->deleteColumn(Metrics::INDEX_NB_USERS); } }
public function enrichProcessedReportIfVisitsSummaryGet(&$response, $infos) { if (empty($infos['parameters'][4]) || empty($response['reportData'])) { return; } $params = $infos['parameters']; $idSites = array($params[0]); $period = $params[1]; $date = $params[2]; $module = $params[3]; $method = $params[4]; if (!$this->isRequestingVisitsSummaryGet($module, $method)) { return; } $userId = new UserId(); /** @var DataTable|DataTable\Map $dataTable */ $dataTable = $response['reportData']; if (!$userId->hasDataTableUsers($dataTable) && !$userId->isUsedInAtLeastOneSite($idSites, $period, $date)) { $report = new Get(); $report->removeUsersFromProcessedReport($response); } }
private function addSparklineColumns(Sparklines $view) { $currentPeriod = Common::getRequestVar('period'); $currentIdSite = Common::getRequestVar('idSite'); $currentDate = Common::getRequestVar('date'); $displayUniqueVisitors = SettingsPiwik::isUniqueVisitorsEnabled($currentPeriod); $isActionPluginEnabled = Common::isActionsPluginEnabled(); $view->config->addSparklineMetric($displayUniqueVisitors ? array('nb_visits', 'nb_uniq_visitors') : array('nb_visits'), 5); if ($isActionPluginEnabled) { $view->config->addSparklineMetric(array('nb_actions'), 10); // either actions or pageviews will be displayed $view->config->addSparklineMetric(array('nb_pageviews', 'nb_uniq_pageviews'), 20); } else { // make sure to still create a div on the right side for this, just leave it empty $view->config->addPlaceholder(10); } $userId = new UserId(); if ($userId->isUsedInAtLeastOneSite(array($currentIdSite), $currentPeriod, $currentDate)) { $view->config->addSparklineMetric(array('nb_users'), 30); $view->config->addPlaceholder(31); } $view->config->addSparklineMetric(array('avg_time_on_site'), 40); $idSite = Common::getRequestVar('idSite'); if ($isActionPluginEnabled && Site::isSiteSearchEnabledFor($idSite)) { $view->config->addSparklineMetric(array('nb_searches', 'nb_keywords'), 50); } else { // make sure to still create a div on the right side for this, just leave it empty $view->config->addPlaceholder(50); } $view->config->addSparklineMetric(array('bounce_rate'), 60); if ($isActionPluginEnabled) { $view->config->addSparklineMetric(array('nb_downloads', 'nb_uniq_downloads'), 70); $view->config->addSparklineMetric(array('nb_actions_per_visit'), 71); $view->config->addSparklineMetric(array('nb_outlinks', 'nb_uniq_outlinks'), 72); $view->config->addSparklineMetric(array('avg_time_generation'), 73); $view->config->addSparklineMetric(array('max_actions'), 74); } }
private function assertNotUsedInAtLeastOneSite($idSites, $period, $date) { $result = $this->userId->isUsedInAtLeastOneSite($idSites, $period, $date); $this->assertFalse($result); }