PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / matomo / device-detector / Parser / Device / HbbTv.php
independent-analytics / vendor / matomo / device-detector / Parser / Device Last commit date
AbstractDeviceParser.php 1 month ago Camera.php 2 years ago CarBrowser.php 2 years ago Console.php 2 years ago HbbTv.php 3 months ago Mobile.php 2 years ago Notebook.php 2 years ago PortableMediaPlayer.php 2 years ago ShellTv.php 3 months ago
HbbTv.php
66 lines
1 <?php
2
3 /**
4 * Device Detector - The Universal Device Detection library for parsing User Agents
5 *
6 * @link https://matomo.org
7 *
8 * @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
9 */
10 declare (strict_types=1);
11 namespace IAWPSCOPED\DeviceDetector\Parser\Device;
12
13 /**
14 * Class HbbTv
15 *
16 * Device parser for hbbtv detection
17 * @internal
18 */
19 class HbbTv extends AbstractDeviceParser
20 {
21 /**
22 * @var string
23 */
24 protected $fixtureFile = 'regexes/device/televisions.yml';
25 /**
26 * @var string
27 */
28 protected $parserName = 'tv';
29 /**
30 * Parses the current UA and checks whether it contains HbbTv or SmartTvA information
31 *
32 * @return array|null
33 *
34 * @throws \Exception
35 *
36 * @see televisions.yml for list of detected televisions
37 *
38 */
39 public function parse() : ?array
40 {
41 // only parse user agents containing fragments: hbbtv or SmartTvA
42 if (null === $this->isHbbTv()) {
43 return null;
44 }
45 parent::parse();
46 // always set device type to tv, even if no model/brand could be found
47 if (null === $this->deviceType) {
48 $this->deviceType = self::DEVICE_TYPE_TV;
49 }
50 return $this->getResult();
51 }
52 /**
53 * Returns if the parsed UA was identified as a HbbTV device
54 *
55 * @return string|null
56 *
57 * @throws \Exception
58 */
59 public function isHbbTv() : ?string
60 {
61 $regex = '(?:HbbTV|SmartTvA)/([1-9]{1}(?:\\.[0-9]{1}){1,2})';
62 $match = $this->matchUserAgent($regex);
63 return $match[1] ?? null;
64 }
65 }
66