Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Detect notebook devices in Facebook useragents #6346

Merged
merged 54 commits into from
Aug 14, 2020
Merged
Show file tree
Hide file tree
Changes from 53 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
5802af6
Improves detection for Windows OS
liviuconcioiu May 5, 2020
f2fb46a
Adds detection for Lenovo Legion Y720 notebook
liviuconcioiu May 5, 2020
e8763fe
Adds detection for Acer Aspire E5-511
liviuconcioiu May 5, 2020
553afa9
Adds detection for Lenovo Ideapad 310-15ISK
liviuconcioiu May 5, 2020
02f943b
Adds detection for Thomson Prestige TH-360R12.32CTW
liviuconcioiu May 5, 2020
b3489b9
Adds detection for HP Pavilion x2
liviuconcioiu May 5, 2020
767b2db
Adds detection for HP 15 Laptop PC
liviuconcioiu May 5, 2020
b759ae4
Adds detection for HP ENVY x360 Convertible PC
liviuconcioiu May 5, 2020
df8ae0a
Adds detection for HP EliteBook 2570p
liviuconcioiu May 5, 2020
b47b95f
Adds detection for HP Pavilion dv6
liviuconcioiu May 5, 2020
ee41617
Adds detection for HP Pavilion
liviuconcioiu May 5, 2020
0b7a10a
Adds detection for HP Spectre x360
liviuconcioiu May 5, 2020
3556d19
Adds detection for Asus Transformer Book
liviuconcioiu May 5, 2020
1bde21b
Adds detection for Asus Transformer Mini
liviuconcioiu May 5, 2020
84ec91d
Adds detection for Asus X555LN
liviuconcioiu May 5, 2020
a387a55
Adds detection for Asus K50IN
liviuconcioiu May 5, 2020
dd904c3
Adds detection for Acer One 10
liviuconcioiu May 5, 2020
3925b82
Adds detection for Asus X556UQK
liviuconcioiu May 5, 2020
88c8336
Adds detection for Asus K54L
liviuconcioiu May 5, 2020
a473ab2
Adds detection for Lenovo G50-80
liviuconcioiu May 5, 2020
dffbe4b
Adds detection for Asus X550LB
liviuconcioiu May 5, 2020
a14ffde
Adds detection for Asus X553MA
liviuconcioiu May 5, 2020
219f7c0
Adds detection for Schneider Notebook 14" Cherry Trail
liviuconcioiu May 5, 2020
25bcc24
Adds detection for Lenovo ThinkPad Helix 3702
liviuconcioiu May 5, 2020
7f1192c
Adds detection for Dell Latitude E4300
liviuconcioiu May 5, 2020
d34e881
Adds detection for HP ProBook 6560b
liviuconcioiu May 5, 2020
a78b80d
Adds detection for HP Pavilion 24-r0xx All-in-One Desktop PC
liviuconcioiu May 5, 2020
aa82beb
Adds detection for Dell XPS 15 9550
liviuconcioiu May 5, 2020
82241bd
Adds detection for Asus ZenBook Flip
liviuconcioiu May 5, 2020
0fd7a3b
Adds detection for Acer Aspire E5-421G
liviuconcioiu May 5, 2020
bac8db5
Adds detection for Dell Inspiron 3541
liviuconcioiu May 5, 2020
b06dcf6
Adds detection for HP Compaq Presario CQ61
liviuconcioiu May 5, 2020
c942699
Adds detection for HP Pavilion TouchSmart 23-f364 All-in-One Desktop PC
liviuconcioiu May 5, 2020
cb2b2ca
Adds detection for Toshiba Satellite L650
liviuconcioiu May 5, 2020
dd96eac
Adds detection for Toshiba Satellite S855
liviuconcioiu May 5, 2020
b928495
Adds detection for Toshiba Satellite C650
liviuconcioiu May 5, 2020
fa688ca
Adds detection for Toshiba Satellite A200
liviuconcioiu May 5, 2020
d9d5ae0
Adds generic detection for Toshiba Satellite notebooks
liviuconcioiu May 5, 2020
6aaa34b
Adds detection for Toshiba Satellite C855
liviuconcioiu May 5, 2020
3aa74b2
Adds detection for Toshiba Satellite A500
liviuconcioiu May 5, 2020
79613fb
Adds detection for HP ProBook 6360b
liviuconcioiu May 5, 2020
288c790
Adds detection for HP ProBook 440 G5
liviuconcioiu May 5, 2020
398d45e
Adds detection for HP EliteBook 2560p
liviuconcioiu May 5, 2020
81a1dc4
Fix
liviuconcioiu May 5, 2020
f047704
Merge branch 'master' into notebooks
sgiehl May 6, 2020
1ddaf7a
Merge branch 'master' into notebooks
sgiehl Jun 5, 2020
cf631b0
Merge branch 'fbnotebooks' into notebooks
sgiehl Aug 11, 2020
7feb800
Merge pull request #6292 from liviuconcioiu/notebooks
sgiehl Aug 11, 2020
2d039b6
detect notebooks as desktop devices
sgiehl Aug 11, 2020
255332d
sort test fixtures
sgiehl Aug 11, 2020
f2b69a5
update statistics script
sgiehl Aug 11, 2020
bf932a6
avoid brand short code rename
sgiehl Aug 11, 2020
7909817
use facebook notebook detection earlier
sgiehl Aug 11, 2020
4e77d59
Merge branch 'master' into fbnotebooks
sgiehl Aug 14, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DeviceDetector.php
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ public function __construct($userAgent = '')
$this->addClientParser('Library');

$this->addDeviceParser('HbbTv');
$this->addDeviceParser('Notebook');
$this->addDeviceParser('Console');
$this->addDeviceParser('CarBrowser');
$this->addDeviceParser('Camera');
Expand Down
1 change: 1 addition & 0 deletions Parser/Device/DeviceParserAbstract.php
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,7 @@ abstract class DeviceParserAbstract extends ParserAbstract
'SQ' => 'Santin',
'SA' => 'Samsung',
'S0' => 'Sanei',
'CZ' => 'Schneider',
'SD' => 'Sega',
'SL' => 'Selfix',
'SE' => 'Sony Ericsson',
Expand Down
30 changes: 30 additions & 0 deletions Parser/Device/Notebook.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php
/**
* Device Detector - The Universal Device Detection library for parsing User Agents
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
*/
namespace DeviceDetector\Parser\Device;

/**
* Class Notebook
*
* Device parser for notebook detection in Facebook useragents
*
* @package DeviceDetector\Parser\Device
*/
class Notebook extends DeviceParserAbstract
{
protected $fixtureFile = 'regexes/device/notebooks.yml';
protected $parserName = 'notebook';

public function parse()
{
if (!$this->matchUserAgent('FBMD/')) {
return false;
}

return parent::parse();
}
}
34 changes: 34 additions & 0 deletions Tests/Parser/Devices/NotebookTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php
/**
* Device Detector - The Universal Device Detection library for parsing User Agents
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
*/
namespace DeviceDetector\Tests\Parser\Device;

use DeviceDetector\Parser\Device\Notebook;
use \Spyc;
use PHPUnit\Framework\TestCase;

class NotebookTest extends TestCase
{
/**
* @dataProvider getFixtures
*/
public function testParse($useragent, $device)
{
$consoleParser = new Notebook();
$consoleParser->setUserAgent($useragent);
$this->assertTrue($consoleParser->parse());
$this->assertEquals($device['type'], $consoleParser->getDeviceType());
$this->assertEquals($device['brand'], $consoleParser->getBrand());
$this->assertEquals($device['model'], $consoleParser->getModel());
}

public function getFixtures()
{
$fixtureData = \Spyc::YAMLLoad(realpath(dirname(__FILE__)) . '/fixtures/notebook.yml');
return $fixtureData;
}
}
7 changes: 7 additions & 0 deletions Tests/Parser/Devices/fixtures/notebook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
-
user_agent: Mozilla/5.0 (Windows NT 10.0.16299.125; osmeta 10.3.3308) AppleWebKit/602.1.1 (KHTML, like Gecko) Version/9.0 Safari/602.1.1 osmeta/10.3.3308 Build/3308 [FBAN/FBW;FBAV/140.0.0.232.179;FBBV/83145113;FBDV/WindowsDevice;FBMD/80VR;FBSN/Windows;FBSV/10.0.16299.371;FBSS/1;FBCR/;FBID/desktop;FBLC/ru_RU;FBOP/45;FBRV/0]
device:
type: 0
brand: LE
model: Legion Y720
Loading