- if ($this->hasEngine('gecko')) {
- if (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); ([^;]+); rv:([^\);]+)(; [^\)]+)?\)|', $this->uastring, $regs)) {
- $this->uadata['os'] = $regs[2];
- $this->uadata['lang'] = (strpos($regs[3],'chrome://')===false)?$regs[3]:null;
- $this->uadata['eng_version'] = $regs[4];
- }
- elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); rv:([^\);]+)(; [^\)]+)?\)|', $this->uastring, $regs)) {
- $this->uadata['os'] = $regs[2];
- $this->uadata['lang'] = null;
- $this->uadata['eng_version'] = $regs[3];
- }
- elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); ([^;]+); m([^\);]+)\)|', $this->uastring, $regs)) {
- $this->uadata['os'] = $regs[2];
- $this->uadata['lang'] = $regs[3];
- $this->uadata['eng_version'] = 'M'.$regs[4];
- }
- elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); m([^\);]+)\)|', $this->uastring, $regs)) {
- $this->uadata['os'] = $regs[1];
- $this->uadata['lang'] = $regs[2];
- $this->uadata['eng_version'] = 'M'.$regs[3];
- }
- elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); ([^\);]+)\)|', $this->uastring, $regs)) {
- $this->uadata['os'] = $regs[2];
- $this->uadata['lang'] = $regs[3];
- $this->uadata['eng_version'] = null;
+ if (!$this->bot) {
+ if ($this->hasEngine('gecko')) {
+ if (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); ([^;]+); ([^;]+); rv:([^\);]+)(; [^\)]+)?\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2].' ('.$regs[3].')';
+ $this->uadata['lang'] = (strpos($regs[4],'chrome://')===false)?$regs[4]:null;
+ $this->uadata['eng_version'] = $regs[5];
+ }
+ elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); ([^;]+); rv:([^\);]+)(; [^\)]+)?\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = (strpos($regs[3],'chrome://')===false)?$regs[3]:null;
+ $this->uadata['eng_version'] = $regs[4];
+ }
+ elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); rv:([^\);]+)(; [^\)]+)?\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = null;
+ $this->uadata['eng_version'] = $regs[3];
+ }
+ elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); ([^;]+); m([^\);]+)\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = $regs[3];
+ $this->uadata['eng_version'] = 'M'.$regs[4];
+ }
+ elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); m([^\);]+)\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[1];
+ $this->uadata['lang'] = $regs[2];
+ $this->uadata['eng_version'] = 'M'.$regs[3];
+ }
+ elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^;]+); ([^\);]+)\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = $regs[3];
+ $this->uadata['eng_version'] = null;
+ }
+ elseif (preg_match('|Mozilla/5.0 \(([^;]+); ([^;]+); rv:([^\);]+)\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = null;
+ $this->uadata['eng_version'] = $regs[3];
+ }
+ elseif (preg_match('|Mozilla/5.0 \(([^;]+); [^;]+; ([^\);]+)\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = null;
+ $this->uadata['eng_version'] = null;
+ }
+ elseif (preg_match('|Mozilla/5.0 Galeon/[^\(]+ \(([^;]+); ([^;]+);[^\)]+\)|', $this->uastring, $regs)) {
+ $this->uadata['os'] = $regs[2];
+ $this->uadata['lang'] = null;
+ $this->uadata['eng_version'] = null;
+ }
+ elseif (preg_match('|Debian/|', $this->uastring, $regs)) {
+ $this->uadata['os'] = 'Debian Linux';
+ $this->uadata['lang'] = null;
+ $this->uadata['eng_version'] = null;
+ }