acceptValues = $brandList; $this->sqlFilter = function ($brand) use ($brandList, $brands) { if ($brand == Piwik::translate('General_Unknown')) { return ''; } $index = array_search(trim(urldecode($brand)), $brands); if ($index === false) { throw new \Exception("deviceBrand segment must be one of: $brandList"); } return $index; }; } /** * @param Request $request * @param Visitor $visitor * @param Action|null $action * @return mixed */ public function onNewVisit(Request $request, Visitor $visitor, $action) { $userAgent = $request->getUserAgent(); $parser = $this->getUAParser($userAgent); return $parser->getBrand(); } /** * @param Request $request * @param Visitor $visitor * @param Action|null $action * @return mixed */ public function onAnyGoalConversion(Request $request, Visitor $visitor, $action) { return $visitor->getVisitorColumn($this->columnName); } }