PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.5.0
Independent Analytics – WordPress Analytics Plugin v2.5.0
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 2 years ago Camera.php 2 years ago CarBrowser.php 2 years ago Console.php 2 years ago HbbTv.php 2 years ago Mobile.php 2 years ago Notebook.php 2 years ago PortableMediaPlayer.php 2 years ago ShellTv.php 2 years ago
HbbTv.php
59 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 information
31 *
32 * @see televisions.yml for list of detected televisions
33 *
34 * @return array|null
35 */
36 public function parse() : ?array
37 {
38 // only parse user agents containing fragments: hbbtv
39 if (null === $this->isHbbTv()) {
40 return null;
41 }
42 parent::parse();
43 // always set device type to tv, even if no model/brand could be found
44 $this->deviceType = self::DEVICE_TYPE_TV;
45 return $this->getResult();
46 }
47 /**
48 * Returns if the parsed UA was identified as a HbbTV device
49 *
50 * @return string|null
51 */
52 public function isHbbTv() : ?string
53 {
54 $regex = 'HbbTV/([1-9]{1}(?:\\.[0-9]{1}){1,2})';
55 $match = $this->matchUserAgent($regex);
56 return $match[1] ?? null;
57 }
58 }
59