Example #1
0
 /**
  * Filter the parsed result to the schema.
  *
  * @param  \UAParser\Result\Result $parsed
  * @return array
  */
 public function filter($parsed)
 {
     $browser = $parsed->getBrowser();
     $os = $parsed->getOperatingSystem();
     $device = $parsed->getDevice();
     $filtered = array();
     // Browser informations.
     if ($browser->getFamily() != 'Other') {
         $filtered['browserFamily'] = $browser->getFamily();
         $filtered['browserVersionMajor'] = $browser->getMajor() ?: 0;
         $filtered['browserVersionMinor'] = $browser->getMinor() ?: 0;
         $filtered['browserVersionPatch'] = $browser->getPatch() ?: 0;
     }
     // Operating system informations.
     if ($os->getFamily() != 'Other') {
         $filtered['osFamily'] = $os->getFamily();
         $filtered['osVersionMajor'] = $os->getMajor() ?: 0;
         $filtered['osVersionMinor'] = $os->getMinor() ?: 0;
         $filtered['osVersionPatch'] = $os->getPatch() ?: 0;
     }
     // Device informations.
     if ($device->getConstructor() != 'Other') {
         $filtered['isMobile'] = $device->isMobile();
         $filtered['isTablet'] = $device->isTablet();
         $filtered['deviceFamily'] = $device->getConstructor();
         $filtered['deviceModel'] = $device->getModel() ?: null;
     }
     return $filtered;
 }
 /**
  *
  * @param UAParserResult $resultRaw
  *
  * @return bool
  */
 private function hasResult(UAParserResult $resultRaw)
 {
     /* @var $browserRaw \UAParser\Result\BrowserResult */
     $browserRaw = $resultRaw->getBrowser();
     if ($browserRaw !== null && $this->isRealResult($browserRaw->getFamily()) === true) {
         return true;
     }
     /* @var $osRaw \UAParser\Result\OperatingSystemResult */
     $osRaw = $resultRaw->getOperatingSystem();
     if ($osRaw !== null && $this->isRealResult($osRaw->getFamily()) === true) {
         return true;
     }
     /* @var $deviceRaw \UAParser\Result\DeviceResult */
     $deviceRaw = $resultRaw->getDevice();
     if ($deviceRaw !== null && $this->isRealResult($deviceRaw->getConstructor()) === true) {
         return true;
     }
     if ($deviceRaw !== null && $this->isRealResult($deviceRaw->getModel()) === true) {
         return true;
     }
     return false;
 }