X-Git-Url: http://git.cyclocoop.org/?p=lhc%2Fweb%2Fclavette_www.git;a=blobdiff_plain;f=www%2Fecrire%2Finc%2Finvalideur.php;h=f52471d46f2d1a0b19cf5dbba7b57c9cca35901b;hp=593e8ac3daf38080d383964d0b19c1b2eadd8045;hb=2f46f5ab9fc0d68a164a1b8025de099896b5586e;hpb=a6c56ccc18c7140954d9601a75e4b8a04de00263 diff --git a/www/ecrire/inc/invalideur.php b/www/ecrire/inc/invalideur.php index 593e8ac..f52471d 100644 --- a/www/ecrire/inc/invalideur.php +++ b/www/ecrire/inc/invalideur.php @@ -88,12 +88,26 @@ function suivre_invalideur($cond, $modif=true) { -// Utilisee pour vider le cache depuis l'espace prive -// (ou juste les squelettes si un changement de config le necessite) -// si $atime est passee en argument, ne pas supprimer ce qui a servi -// plus recemment que cette date (via fileatime) -// retourne le nombre de fichiers supprimes -// http://doc.spip.org/@purger_repertoire +/** + * Purge un répertoire de ses fichiers + * + * Utilisée entre autres pour vider le cache depuis l'espace privé + * + * @uses supprimer_fichier() + * + * @param string $dir + * Chemin du répertoire à purger + * @param array $options + * Tableau des options. Peut être : + * + * - atime : timestamp pour ne supprimer que les fichiers antérieurs + * à cette date (via fileatime) + * - mtime : timestamp pour ne supprimer que les fichiers antérieurs + * à cette date (via filemtime) + * - limit : nombre maximum de suppressions + * @return int + * Nombre de fichiers supprimés +**/ function purger_repertoire($dir, $options=array()) { $handle = @opendir($dir); if (!$handle) return; @@ -105,8 +119,9 @@ function purger_repertoire($dir, $options=array()) { if ($fichier[0] == '.') continue; $chemin = "$dir/$fichier"; if (is_file($chemin)) { - if (!isset($options['atime']) - OR (@fileatime($chemin) < $options['atime'])) { + if ( (!isset($options['atime']) OR (@fileatime($chemin) < $options['atime'])) + AND (!isset($options['mtime']) OR (@filemtime($chemin) < $options['mtime'])) + ) { supprimer_fichier($chemin); $total ++; }