diff --git a/webtools/bugzilla/editclassifications.cgi b/webtools/bugzilla/editclassifications.cgi index 5c01616b66f..737db21d5b3 100755 --- a/webtools/bugzilla/editclassifications.cgi +++ b/webtools/bugzilla/editclassifications.cgi @@ -308,6 +308,8 @@ if ($action eq 'update') { SET name=? WHERE id=?"); $sth->execute($classification,$classification_id); $vars->{'updated_classification'} = 1; + + unlink "$datadir/versioncache"; } if ($description ne $descriptionold) { @@ -316,11 +318,12 @@ if ($action eq 'update') { WHERE id=?"); $sth->execute($description,$classification_id); $vars->{'updated_description'} = 1; + + unlink "$datadir/versioncache"; } $dbh->bz_unlock_tables(); - unlink "$datadir/versioncache"; LoadTemplate($action); } diff --git a/webtools/bugzilla/globals.pl b/webtools/bugzilla/globals.pl index 89e70e0a810..780e85e0bcd 100644 --- a/webtools/bugzilla/globals.pl +++ b/webtools/bugzilla/globals.pl @@ -325,23 +325,18 @@ sub GetKeywordIdFromName { $::VersionTableLoaded = 0; sub GetVersionTable { return if $::VersionTableLoaded; - my $mtime = file_mod_time("$datadir/versioncache"); - if (!defined $mtime || $mtime eq "" || !-r "$datadir/versioncache") { - $mtime = 0; - } - if (time() - $mtime > 3600) { - use Bugzilla::Token; - Bugzilla::Token::CleanTokenTable() if Bugzilla->dbwritesallowed; + my $file_generated = 0; + if (!-r "$datadir/versioncache") { GenerateVersionTable(); + $file_generated = 1; } require "$datadir/versioncache"; - if (!defined %::versions) { + if (!defined %::versions && !$file_generated) { GenerateVersionTable(); do "$datadir/versioncache"; - - if (!defined %::versions) { - die "Can't generate file $datadir/versioncache"; - } + } + if (!defined %::versions) { + die "Can't generate file $datadir/versioncache"; } $::VersionTableLoaded = 1; }