Forráskód Böngészése

#1166 Delete exported files from cache_public folder

Alex Trofimov 8 éve
szülő
commit
3ae4f5dd8a
1 módosított fájl, 13 hozzáadás és 5 törlés
  1. 13 5
      inc/classes/BxDolCronPruning.php

+ 13 - 5
inc/classes/BxDolCronPruning.php

@@ -62,17 +62,22 @@ class BxDolCronPruning extends BxDolCron
      */
     protected function cleanTmpFolders()
     {
-        $iTmpFileLife = 2592000;  // one month
         $aDirsToClean = array(
-            BX_DIRECTORY_PATH_TMP,
-            BX_DIRECTORY_PATH_CACHE,
-            BX_DIRECTORY_PATH_CACHE_PUBLIC,
+            array('dir' => BX_DIRECTORY_PATH_TMP, 'prefix' => '', 'file_life_time' => 2592000),
+            array('dir' => BX_DIRECTORY_PATH_CACHE, 'prefix' => '', 'file_life_time' => 2592000),
+            array('dir' => BX_DIRECTORY_PATH_CACHE_PUBLIC, 'prefix' => '', 'file_life_time' => 3600),
+            array('dir' => BX_DIRECTORY_PATH_CACHE_PUBLIC, 'prefix' => parse_url(BX_DOL_URL_ROOT, PHP_URL_HOST) . '_', 'file_life_time' => 86400),
         );
 
         $iNumTmp = 0;
         $iNumDel = 0;
 
-        foreach ($aDirsToClean as $sDir) {
+        foreach ($aDirsToClean as $a) {
+
+            $sDir = $a['dir'];
+            $iTmpFileLife = $a['file_life_time'];
+            $sPrefix = $a['prefix'];
+            $sPrefixLen = strlen($a['prefix']);
 
             if (!($h = opendir($sDir)))
                 continue;
@@ -82,6 +87,9 @@ class BxDolCronPruning extends BxDolCron
                 if ('.' == $sFile || '..' == $sFile || '.' == $sFile[0])
                     continue;
 
+                if ($sPrefix && 0 !== strncmp($sFile, $sPrefix, $sPrefixLen))
+                    continue;
+
                 ++$iNumTmp;
 
                 $iDiff = time() - filemtime($sDir . $sFile);