]> git.ipfire.org Git - thirdparty/AWStats.git/commitdiff
Added %time4 to support Unix timestamps date in log files.
authoreldy <>
Wed, 3 Mar 2004 21:08:16 +0000 (21:08 +0000)
committereldy <>
Wed, 3 Mar 2004 21:08:16 +0000 (21:08 +0000)
wwwroot/cgi-bin/awstats.pl

index e7662d346055241c44eec976e22290aa9ba0f1fd..f378f82f089fa596e132e8c71faa7ad857463620 100644 (file)
@@ -4740,6 +4740,10 @@ sub DefinePerlParsingFormat {
                                $pos_date = $i; $i++; push @fieldlib, 'date';
                                $PerlParsingFormat .= "(\\w\\w\\w \\s??\\d+ \\d\\d:\\d\\d:\\d\\d)";
                        }
+                       elsif ($f =~ /%time4$/) {       # ddddddddddddd
+                               $pos_date = $i; $i++; push @fieldlib, 'date';
+                               $PerlParsingFormat .= "(\\d+)";
+                       }
                        # Special for methodurl and methodurlnoprot
                        elsif ($f =~ /%methodurl$/) {
                                $pos_method = $i; $i++; push @fieldlib, 'method';
@@ -5798,10 +5802,14 @@ if ($UpdateStats && $FrameName ne 'index' && $FrameName ne 'mainleft') {        # Updat
                # Split DD/Month/YYYY:HH:MM:SS or YYYY-MM-DD HH:MM:SS or MM/DD/YY\tHH:MM:SS
                $field[$pos_date] =~ tr/,-\/ \t/:::::/;                 # " \t" is used instead of "\s" not known with tr
                my @dateparts=split(/:/,$field[$pos_date]);             # tr and split faster than @dateparts=split(/[\/\-:\s]/,$field[$pos_date])
-               if ($dateparts[0] =~ /^....$/) { my $tmp=$dateparts[0]; $dateparts[0]=$dateparts[2]; $dateparts[2]=$tmp; }
+               if (! $dateparts[1]) {  # Unix timestamp
+                       ($dateparts[5],$dateparts[4],$dateparts[3],$dateparts[0],$dateparts[1],$dateparts[2]) = localtime(int($field[$pos_date]));
+                       $dateparts[1]++;$dateparts[2]+=1900;
+               }
+               elsif ($dateparts[0] =~ /^....$/) { my $tmp=$dateparts[0]; $dateparts[0]=$dateparts[2]; $dateparts[2]=$tmp; }
                elsif ($field[$pos_date] =~ /^..:..:..:/) { $dateparts[2]+=2000; my $tmp=$dateparts[0]; $dateparts[0]=$dateparts[1]; $dateparts[1]=$tmp; }
                if ($MonthNum{$dateparts[1]}) { $dateparts[1]=$MonthNum{$dateparts[1]}; }       # Change lib month in num month if necessary
-
+               
                # Now @dateparts is (DD,MM,YYYY,HH,MM,SS) and we're going to create $timerecord=YYYYMMDDHHMMSS
                # Plugin call : Convert a @datepart into another @datepart
                if ($PluginsLoaded{'ChangeTime'}{'timezone'})  { @dateparts=ChangeTime_timezone(\@dateparts); }