Skip to content

Commit 73cf740

Browse files
committed
dev
1 parent 6fcedb9 commit 73cf740

File tree

4 files changed

+127
-10
lines changed

4 files changed

+127
-10
lines changed

src/Helper/Header.php

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace Udger\Helper;
4+
5+
class Header implements HeaderInterface{
6+
7+
/**
8+
* Get IP verison
9+
*
10+
* @param string $headers, array $ret
11+
* @return array
12+
*/
13+
public function parseHeaders($headers, $ret)
14+
{
15+
/*
16+
$ret = array('SecChUa' => '',
17+
'SecChUaFullVersionList' => '',
18+
'SecChUaMobile' => '',
19+
'SecChUaFullVersion' => '',
20+
'SecChUaPlatform' => '',
21+
'SecChUaPlatformVersion' => '',
22+
'SecChUaModel' => ''
23+
);
24+
*/
25+
26+
27+
28+
return $ret;
29+
}
30+
31+
32+
}

src/Helper/HeaderInterface.php

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
namespace Udger\Helper;
4+
5+
6+
interface HeaderInterface {
7+
8+
public function parseHeaders($headers,$ret);
9+
}

src/Parser.php

+85-9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
namespace Udger;
1212

1313
use Udger\Helper\IPInterface;
14+
use Udger\Helper\HeaderInterface;
1415

1516
/**
1617
* udger.com Local Parser Class
@@ -21,26 +22,75 @@ class Parser implements ParserInterface
2122
{
2223

2324
/**
24-
* Path to the data file
25+
* IP address for parse
2526
*
2627
* @type string
2728
*/
28-
protected $path;
29+
protected $ip;
2930

3031
/**
31-
* IP address for parse
32+
* Useragent string for parse
3233
*
3334
* @type string
3435
*/
35-
protected $ip;
36+
protected $ua;
3637

3738
/**
38-
* Useragent string for parse
39+
* Sec-Ch-Ua string for parse
3940
*
4041
* @type string
4142
*/
42-
protected $ua;
43+
protected $SecChUa;
44+
45+
/**
46+
* Sec-Ch-Ua-Full-Version-List string for parse
47+
*
48+
* @type string
49+
*/
50+
protected $SecChUaFullVersionList;
51+
52+
/**
53+
* Sec-Ch-Ua-Mobile string for parse
54+
*
55+
* @type string
56+
*/
57+
protected $SecChUaMobile;
58+
59+
/**
60+
* Sec-Ch-Ua-Full-Version string for parse
61+
*
62+
* @type string
63+
*/
64+
protected $SecChUaFullVersion;
65+
66+
/**
67+
* Sec-Ch-Ua-Platform string for parse
68+
*
69+
* @type string
70+
*/
71+
protected $SecChUaPlatform;
72+
73+
/**
74+
* Sec-Ch-Ua-Platform-Version string for parse
75+
*
76+
* @type string
77+
*/
78+
protected $SecChUaPlatformVersion;
79+
80+
/**
81+
* Sec-Ch-Ua-Model string for parse
82+
*
83+
* @type string
84+
*/
85+
protected $SecChUaModel;
4386

87+
/**
88+
* Path to the data file
89+
*
90+
* @type string
91+
*/
92+
protected $path;
93+
4494
/**
4595
* DB link
4696
*
@@ -53,6 +103,11 @@ class Parser implements ParserInterface
53103
*/
54104
protected $ipHelper;
55105

106+
/**
107+
* @var HeaderInterface
108+
*/
109+
protected $headerHelper;
110+
56111
/**
57112
* @boolean LRU cache enable/disable
58113
*/
@@ -69,11 +124,12 @@ class Parser implements ParserInterface
69124
protected $cacheSize = 3000;
70125

71126
/**
72-
* @param IPInterface
127+
* @param IPInterface, HeaderInterface
73128
*/
74-
public function __construct(IPInterface $ipHelper)
129+
public function __construct(IPInterface $ipHelper, HeaderInterface $headerHelper)
75130
{
76-
$this->ipHelper = $ipHelper;
131+
$this->ipHelper = $ipHelper;
132+
$this->headerHelper = $headerHelper;
77133
}
78134

79135
/**
@@ -100,6 +156,26 @@ public function setIP($ip)
100156
return true;
101157
}
102158

159+
/**
160+
* Set the http Header
161+
*
162+
* @param string
163+
* @return bool
164+
*/
165+
public function setHeaders($headers)
166+
{
167+
$ret = array('SecChUa' => '',
168+
'SecChUaFullVersionList' => '',
169+
'SecChUaMobile' => '',
170+
'SecChUaFullVersion' => '',
171+
'SecChUaPlatform' => '',
172+
'SecChUaPlatformVersion' => '',
173+
'SecChUaModel' => ''
174+
);
175+
$ret = $this->headerHelper->parseHeaders($headers, $ret);
176+
return true;
177+
}
178+
103179
/**
104180
* Parse the useragent string and/or IP
105181
*

src/ParserFactory.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function __construct($dataFile)
3131
*/
3232
public function getParser()
3333
{
34-
$parser = new Parser(new Helper\IP());
34+
$parser = new Parser(new Helper\IP(), new Helper\Header());
3535
$parser->setDataFile($this->dataFile);
3636
return $parser;
3737
}

0 commit comments

Comments
 (0)