]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 265188: GenerateVersionTable should only overwrite versioncache if it's changed...
authorlpsolit%gmail.com <>
Tue, 19 Jul 2005 21:52:59 +0000 (21:52 +0000)
committerlpsolit%gmail.com <>
Tue, 19 Jul 2005 21:52:59 +0000 (21:52 +0000)
editclassifications.cgi
globals.pl

index 5c01616b66f8d1c1966a802a3949557c3df99070..737db21d5b3c5b7bca9c913b9a31a33180e44196 100755 (executable)
@@ -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);
 }
 
index 89e70e0a810758dc5399900b92281ed80a6b0a62..780e85e0bcd9dea75a891d2c39765352a9dca416 100644 (file)
@@ -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;
 }