| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\DevicesDetection\Columns; |
|
|
| use Piwik\Plugins\DevicesDetection\DevicesDetection; |
| use Piwik\Tracker\Request; |
| use Piwik\Tracker\Visitor; |
| use Piwik\Tracker\Action; |
|
|
| class OsVersion extends Base |
| { |
| protected $columnName = 'config_os_version'; |
| protected $columnType = 'VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL'; |
| protected $nameSingular = 'DevicesDetection_ColumnOperatingSystemVersion'; |
| protected $namePlural = 'DevicesDetection_OperatingSystemVersions'; |
| protected $segmentName = 'operatingSystemVersion'; |
| protected $acceptValues = 'XP, 7, 2.3, 5.1, ...'; |
| protected $type = self::TYPE_TEXT; |
|
|
| |
| |
| |
| |
| public function onNewVisit(Request $request, Visitor $visitor, $action) |
| { |
| $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints()); |
|
|
| $osVersion = $parser->getOs('version'); |
|
|
| if (DevicesDetection::shouldOnlyStoreMajorVersions($request->getIdSiteIfExists())) { |
| return explode('.', $osVersion, 2)[0]; |
| } |
| return $osVersion; |
| } |
| } |
|
|