Skip to content

Commit c7dcc98

Browse files
committed
Merge pull request #31 from woothee/support-vivaldi
Support Vivaldi
2 parents 5ade505 + c356e92 commit c7dcc98

4 files changed

Lines changed: 40 additions & 2 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
namespace Woothee\AgentCategory\Browser;
4+
5+
use Woothee\AgentCategory\AbstractCategory;
6+
use Woothee\DataSet;
7+
8+
class Vivaldi extends AbstractCategory
9+
{
10+
public static function challenge($ua, &$result)
11+
{
12+
if (strpos($ua, 'Vivaldi') === false) {
13+
return false;
14+
}
15+
16+
$version = DataSet::VALUE_UNKNOWN;
17+
18+
if (preg_match('/Vivaldi\/([.0-9]+)/Du', $ua, $matches)) {
19+
$version = $matches[1];
20+
}
21+
22+
static::updateMap($result, DataSet::get('Vivaldi'));
23+
static::updateVersion($result, $version);
24+
25+
return true;
26+
}
27+
}

src/Classifier.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Woothee\AgentCategory\Browser\Opera;
1111
use Woothee\AgentCategory\Browser\SafariChrome;
1212
use Woothee\AgentCategory\Browser\Sleipnir;
13+
use Woothee\AgentCategory\Browser\Vivaldi;
1314
use Woothee\AgentCategory\Browser\Webview;
1415
use Woothee\AgentCategory\Crawler\Crawlers;
1516
use Woothee\AgentCategory\Crawler\Google;
@@ -66,6 +67,10 @@ public function tryBrowser($ua, &$result)
6667
return true;
6768
}
6869

70+
if (Vivaldi::challenge($ua, $result)) {
71+
return true;
72+
}
73+
6974
if (SafariChrome::challenge($ua, $result)) {
7075
return true;
7176
}

src/DataSet.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
namespace Woothee;
33

4-
// GENERATED from dataset.yml at Thu Aug 13 20:42:56 JST 2015 by yuya
4+
// GENERATED from dataset.yml at Tue May 17 02:10:37 JST 2016 by yuya
55
class DataSet
66
{
77
const DATASET_KEY_LABEL = 'label';
@@ -88,6 +88,12 @@ class DataSet
8888
'type' => 'browser',
8989
'vendor' => 'Opera',
9090
),
91+
'Vivaldi' => array(
92+
'label' => 'Vivaldi',
93+
'name' => 'Vivaldi',
94+
'type' => 'browser',
95+
'vendor' => 'Vivaldi Technologies',
96+
),
9197
'Sleipnir' => array(
9298
'label' => 'Sleipnir',
9399
'name' => 'Sleipnir',

0 commit comments

Comments
 (0)