From c07c5d9357d0e1796b24abac74d9628b41098242 Mon Sep 17 00:00:00 2001
From: Robert Nitsch <r.s.nitsch@gmail.com>
Date: Mon, 21 May 2012 19:43:03 +0200
Subject: [PATCH] Fixes messages.txt's modification timestamp not being
 updated.

This bug occurs on systems where writing a zero-length string to an
empty file does not update the file's modification timestamp.

This leads to the messages.txt being downloaded almost endlessly, causing
long delays for logged-in users. Visitors are not affected, because the
messages.txt is only updated for logged-in users.
---
 inc/infoutils.php | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/inc/infoutils.php b/inc/infoutils.php
index 2b8486906..ff752cd0f 100644
--- a/inc/infoutils.php
+++ b/inc/infoutils.php
@@ -25,11 +25,14 @@ function checkUpdateMessages(){
 
     // check if new messages needs to be fetched
     if($lm < time()-(60*60*24) || $lm < @filemtime(DOKU_INC.DOKU_SCRIPT)){
+        dbglog("checkUpdatesMessages(): downloading messages.txt");
         $http = new DokuHTTPClient();
         $http->timeout = 8;
         $data = $http->get(DOKU_MESSAGEURL.$updateVersion);
         io_saveFile($cf,$data);
+        @touch($cf);
     }else{
+        dbglog("checkUpdatesMessages(): messages.txt up to date");
         $data = io_readFile($cf);
     }
 
-- 
GitLab