Commit f59ece67 authored by travis%sedsystems.ca's avatar travis%sedsystems.ca

Bug 278791 : Move ModTime() to Bugzilla::Util

Patch by Max K-A <mkanat@kerio.com> r=vladd a=justdave
parent b61cb720
...@@ -33,7 +33,8 @@ use base qw(Exporter); ...@@ -33,7 +33,8 @@ use base qw(Exporter);
css_class_quote css_class_quote
lsearch max min lsearch max min
trim diff_strings trim diff_strings
format_time format_time_decimal); format_time format_time_decimal
file_mod_time);
use Bugzilla::Config; use Bugzilla::Config;
use Bugzilla::Error; use Bugzilla::Error;
...@@ -223,6 +224,14 @@ sub format_time_decimal { ...@@ -223,6 +224,14 @@ sub format_time_decimal {
return $newtime; return $newtime;
} }
sub file_mod_time ($) {
my ($filename) = (@_);
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);
return $mtime;
}
sub ValidateDate { sub ValidateDate {
my ($date, $format) = @_; my ($date, $format) = @_;
...@@ -272,6 +281,9 @@ Bugzilla::Util - Generic utility functions for bugzilla ...@@ -272,6 +281,9 @@ Bugzilla::Util - Generic utility functions for bugzilla
# Functions for formatting time # Functions for formatting time
format_time($time); format_time($time);
# Functions for dealing with files
$time = file_mod_time($filename);
=head1 DESCRIPTION =head1 DESCRIPTION
This package contains various utility functions which do not belong anywhere This package contains various utility functions which do not belong anywhere
...@@ -408,6 +420,13 @@ shown in different formats. ...@@ -408,6 +420,13 @@ shown in different formats.
Returns a number with 2 digit precision, unless the last digit is a 0. Then it Returns a number with 2 digit precision, unless the last digit is a 0. Then it
returns only 1 digit precision. returns only 1 digit precision.
=head2 Files
=over 4
=item C<file_mod_time($filename)>
Takes a filename and returns the modification time. It returns it in the format of the "mtime" parameter of the perl "stat" function.
=back =back
...@@ -352,22 +352,10 @@ sub GetKeywordIdFromName { ...@@ -352,22 +352,10 @@ sub GetKeywordIdFromName {
} }
# Returns the modification time of a file.
sub ModTime {
my ($filename) = (@_);
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);
return $mtime;
}
$::VersionTableLoaded = 0; $::VersionTableLoaded = 0;
sub GetVersionTable { sub GetVersionTable {
return if $::VersionTableLoaded; return if $::VersionTableLoaded;
my $mtime = ModTime("$datadir/versioncache"); my $mtime = file_mod_time("$datadir/versioncache");
if (!defined $mtime || $mtime eq "" || !-r "$datadir/versioncache") { if (!defined $mtime || $mtime eq "" || !-r "$datadir/versioncache") {
$mtime = 0; $mtime = 0;
} }
......
...@@ -28,6 +28,7 @@ use lib qw(.); ...@@ -28,6 +28,7 @@ use lib qw(.);
use File::Temp; use File::Temp;
use Bugzilla; use Bugzilla;
use Bugzilla::Config qw(:DEFAULT $webdotdir); use Bugzilla::Config qw(:DEFAULT $webdotdir);
use Bugzilla::Util;
require "CGI.pl"; require "CGI.pl";
...@@ -271,7 +272,7 @@ foreach my $f (@files) ...@@ -271,7 +272,7 @@ foreach my $f (@files)
# symlinks), this can't escape to delete anything it shouldn't # symlinks), this can't escape to delete anything it shouldn't
# (unless someone moves the location of $webdotdir, of course) # (unless someone moves the location of $webdotdir, of course)
trick_taint($f); trick_taint($f);
if (ModTime($f) < $since) { if (file_mod_time($f) < $since) {
unlink $f; unlink $f;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment