mirror of
https://github.com/Mibew/mibew.git
synced 2025-02-14 19:35:46 +03:00
Use third party library to detect user's browser
This commit is contained in:
parent
efbf92b012
commit
9cd082b878
@ -28,12 +28,22 @@
|
|||||||
"tedivm/stash": "0.12.*",
|
"tedivm/stash": "0.12.*",
|
||||||
"canteen/html5": "1.1.*",
|
"canteen/html5": "1.1.*",
|
||||||
"vierbergenlars/php-semver": "3.0.*",
|
"vierbergenlars/php-semver": "3.0.*",
|
||||||
"swiftmailer/swiftmailer": "5.3.*"
|
"swiftmailer/swiftmailer": "5.3.*",
|
||||||
|
"ua-parser/ua-parser": "dev-master#c95b59bc18e5f0a2a44ae145b6f32561c7e4fc25"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"squizlabs/php_codesniffer": "1.*"
|
"squizlabs/php_codesniffer": "1.*"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"vendor-dir": "mibew/vendor"
|
"vendor-dir": "mibew/vendor"
|
||||||
|
},
|
||||||
|
"repositories": [
|
||||||
|
{
|
||||||
|
"type": "vcs",
|
||||||
|
"url": "https://github.com/ua-parser/uap-php"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scripts": {
|
||||||
|
"post-install-cmd": "php mibew/vendor/bin/uaparser.php ua-parser:update"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -17,38 +17,18 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Import namespaces and classes of the core
|
|
||||||
use Mibew\Settings;
|
use Mibew\Settings;
|
||||||
|
use UAParser\Parser as UAParser;
|
||||||
|
|
||||||
function get_user_agent_version($user_agent)
|
function get_user_agent_version($user_agent)
|
||||||
{
|
{
|
||||||
$known_agents = get_known_user_agents();
|
static $parser = null;
|
||||||
if (is_array($known_agents)) {
|
|
||||||
$user_agent = strtolower($user_agent);
|
|
||||||
foreach ($known_agents as $agent) {
|
|
||||||
if (strstr($user_agent, $agent)) {
|
|
||||||
if (preg_match("/" . $agent . "[\\s\/]?(\\d+(\\.\\d+(\\.\\d+(\\.\\d+)?)?)?)/", $user_agent, $matches)) {
|
|
||||||
$ver = $matches[1];
|
|
||||||
if ($agent == 'safari') {
|
|
||||||
if (preg_match("/version\/(\\d+(\\.\\d+(\\.\\d+)?)?)/", $user_agent, $matches)) {
|
|
||||||
$ver = $matches[1];
|
|
||||||
} else {
|
|
||||||
$ver = "1 or 2 (build " . $ver . ")";
|
|
||||||
}
|
|
||||||
if (preg_match("/mobile\/(\\d+(\\.\\d+(\\.\\d+)?)?)/", $user_agent, $matches)) {
|
|
||||||
$user_agent = "iPhone " . $matches[1] . " ($agent $ver)";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$user_agent = ucfirst($agent) . " " . $ver;
|
if (is_null($parser)) {
|
||||||
break;
|
$parser = UAParser::create();
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $user_agent;
|
return $parser->parse($user_agent)->ua->toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_user_addr($addr)
|
function get_user_addr($addr)
|
||||||
|
Loading…
Reference in New Issue
Block a user