public function addCustomDimensionsAttributes(&$content, $idSite)
 {
     $dimensions = $this->configuration->getCustomDimensionsForSite($idSite);
     $active = array();
     foreach ($dimensions as $dimension) {
         if (!$dimension['active']) {
             continue;
         }
         $active[] = $dimension;
     }
     $content['custom_dimensions'] = $active;
 }
예제 #2
0
 private function getActiveCustomDimensions()
 {
     $idSite = $this->processor->getParams()->getSite()->getId();
     $config = new Configuration();
     $dimensions = $config->getCustomDimensionsForSite($idSite);
     $active = array();
     foreach ($dimensions as $index => $dimension) {
         if ($dimension['active']) {
             $active[] = $dimension;
         }
     }
     return $active;
 }
예제 #3
0
 public function configureReportingMenu(MenuReporting $menu)
 {
     $idSite = Common::getRequestVar('idSite', null, 'int');
     $config = new Configuration();
     $dimensions = $config->getCustomDimensionsForSite($idSite);
     foreach ($dimensions as $index => $dimension) {
         if (!$dimension['active']) {
             unset($dimensions[$index]);
         }
     }
     $this->addMenuItemsForCustomDimensions($menu, $dimensions, CustomDimensions::SCOPE_VISIT);
     $this->addMenuItemsForCustomDimensions($menu, $dimensions, CustomDimensions::SCOPE_ACTION);
 }
 public function test_gdeleteConfigurationsForSite_shouldOnlyDeleteConfigsForThisSite()
 {
     $this->createManyCustomDimensionCases();
     $idSite = 1;
     $dimensions = $this->config->getCustomDimensionsForSite($idSite);
     $this->assertCount(5, $dimensions);
     $this->config->deleteConfigurationsForSite($idSite);
     // verify deleted
     $dimensions = $this->config->getCustomDimensionsForSite($idSite);
     $this->assertSame(array(), $dimensions);
     // verify entries for other site still exist
     $dimensions = $this->config->getCustomDimensionsForSite($idSite = 2);
     $this->assertCount(3, $dimensions);
 }
 public function getReportsWithGoalMetrics(&$reportsWithGoals)
 {
     $idSite = Common::getRequestVar('idSite', 0, 'int');
     if ($idSite < 1) {
         return;
     }
     $dimensions = $this->configuration->getCustomDimensionsForSite($idSite);
     foreach ($dimensions as $dimension) {
         if (!$dimension['active']) {
             continue;
         }
         if ($dimension['scope'] !== self::SCOPE_VISIT) {
             continue;
         }
         $reportsWithGoals[] = array('category' => 'VisitsSummary_VisitsSummary', 'name' => $dimension['name'], 'module' => $this->pluginName, 'action' => 'getCustomDimension', 'parameters' => array('idDimension' => $dimension['idcustomdimension']));
     }
 }
 private function getActiveDimensionsForSite($idSite)
 {
     if (empty($this->dimensionCache[$idSite])) {
         $this->dimensionCache[$idSite] = array();
         $configuration = new Configuration();
         $dimensions = $configuration->getCustomDimensionsForSite($idSite);
         foreach ($dimensions as $index => $dimension) {
             if ($dimension['active']) {
                 $this->dimensionCache[$idSite][] = $dimension;
             }
         }
     }
     return $this->dimensionCache[$idSite];
 }
 public function test_deleteCustomDimensionDefinitionsForSite_shouldRemoveConfigurationsForOneSiteWhenSiteIsDeleted()
 {
     $this->configureSomeDimensions();
     $config = new Configuration();
     $this->assertNotEmpty($config->getCustomDimensionsForSite($idSite = 1));
     \Piwik\API\Request::processRequest('SitesManager.deleteSite', array('idSite' => $idSite));
     // verify removed
     $this->assertSame(array(), $config->getCustomDimensionsForSite($idSite));
     // verify entries for other site still exists
     $this->assertNotEmpty($config->getCustomDimensionsForSite($idSite = 2));
 }