]> git.ipfire.org Git - thirdparty/AWStats.git/commitdiff
Restore detection of Opera browser version.
authoreldy <>
Mon, 28 Oct 2013 12:23:37 +0000 (12:23 +0000)
committereldy <>
Mon, 28 Oct 2013 12:23:37 +0000 (12:23 +0000)
docs/awstats_changelog.txt
wwwroot/cgi-bin/awstats.pl

index e9340faa8947aa128d774b7aa03d2b0773f040bc..b09c780ba78589bc855c4af52c2295ee0260aac2 100644 (file)
@@ -13,6 +13,7 @@ New features:
 Fixes:
 - When using builddate option of script awstats_buildstaticpages,
   static link is wrong.
+- Resotre detection of Opera browsers versions.
   
 
 ***** 7.2 *****
index a2eaeaf63d2c2513d8047aa8a96f247ba91e6e53..89be6a0dd1121fb7d699c82602a3c903f9c2187b 100644 (file)
@@ -17879,7 +17879,11 @@ if ( $UpdateStats && $FrameName ne 'index' && $FrameName ne 'mainleft' )
        my $regvermsie        = qr/msie([+_ ]|)([\d\.]*)/i;
        my $regvernetscape    = qr/netscape.?\/([\d\.]*)/i;
        my $regverfirefox     = qr/firefox\/([\d\.]*)/i;
-       my $regveropera       = qr/opera\/([\d\.]*)/i;
+       # For Opera:
+       # OPR/15.0.1266 means Opera 15 
+       # Opera/9.80 ...... Version/12.16 means Opera 12.16
+       # Mozilla/5.0 .... Opera 11.51 means Opera 11.51
+       my $regveropera = qr/opera\/9\.80\s.+\sversion\/([\d\.]+)|ope?ra?[\/\s]([\d\.]+)/i;
        my $regversafari      = qr/safari\/([\d\.]*)/i;
        my $regversafariver   = qr/version\/([\d\.]*)/i;
        my $regverchrome      = qr/chrome\/([\d\.]*)/i;
@@ -19418,20 +19422,20 @@ if ( $UpdateStats && $FrameName ne 'index' && $FrameName ne 'mainleft' )
                                        if ( !$uabrowser ) {
                                                my $found = 1;
 
+                                               # Opera ?
+                                               if ( $UserAgent =~ /$regveropera/o ) {  # !!!! version number in in regex $1 or $2 !!!
+                                                   $_browser_h{"opera".($1||$2)}++;
+                                                   if ($PageBool) { $_browser_p{"opera".($1||$2)}++; }
+                                                   $TmpBrowser{$UserAgent} = "opera".($1||$2);
+                                               }
+                                               
                                                # Firefox ?
-                                               if (   $UserAgent =~ /$regverfirefox/o
-                                                       && $UserAgent !~ /$regnotfirefox/o )
+                                               elsif ( $UserAgent =~ /$regverfirefox/o
+                                                   && $UserAgent !~ /$regnotfirefox/o )
                                                {
-                                                       $_browser_h{"firefox$1"}++;
-                                                       if ($PageBool) { $_browser_p{"firefox$1"}++; }
-                                                       $TmpBrowser{$UserAgent} = "firefox$1";
-                                               }
-
-                                               # Opera ?
-                                               elsif ( $UserAgent =~ /$regveropera/o ) {
-                                                       $_browser_h{"opera$1"}++;
-                                                       if ($PageBool) { $_browser_p{"opera$1"}++; }
-                                                       $TmpBrowser{$UserAgent} = "opera$1";
+                                                   $_browser_h{"firefox$1"}++;
+                                                   if ($PageBool) { $_browser_p{"firefox$1"}++; }
+                                                   $TmpBrowser{$UserAgent} = "firefox$1";
                                                }
 
                                                # Chrome ?