setSegment('customVariable' . $segmentNameSuffix . $i); $segment->setSqlSegment('log_visit.custom_var_' . $segmentSuffix . $i); $segment->setName(Piwik::translate('CustomVariables_ColumnCustomVariable' . $segmentNameSuffix) . ' ' . $i . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')'); $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); $segment = new Segment(); $segment->setSegment('customVariablePage' . $segmentNameSuffix . $i); $segment->setSqlSegment('log_link_visit_action.custom_var_' . $segmentSuffix . $i); $segment->setName(Piwik::translate('CustomVariables_ColumnCustomVariable' . $segmentNameSuffix) . ' ' . $i . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')'); $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); } $segment = new Segment(); $segment->setType('dimension'); $segment->setSegment('customVariable' . $segmentNameSuffix); $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')'); $segment->setUnionOfSegments($this->getSegmentColumns('customVariable' . $segmentNameSuffix, $numCustomVariables)); $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); $segment = new Segment(); $segment->setType('dimension'); $segment->setSegment('customVariablePage' . $segmentNameSuffix); $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')'); $segment->setUnionOfSegments($this->getSegmentColumns('customVariablePage' . $segmentNameSuffix, $numCustomVariables)); $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); } private function getSegmentColumns($column, $numCustomVariables) { $columns = array(); for ($i = 1; $i <= $numCustomVariables; ++$i) { $columns[] = $column . $i; } return $columns; } }