From abbf62f80d8dc571adc85112dcc67d93473a5642 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou <pitrou@free.fr> Date: Tue, 5 Mar 2002 22:24:54 +0000 Subject: [PATCH] =?UTF-8?q?Nouvelle=20m=C3=A9thode=20de=20cr=C3=A9ation=20?= =?UTF-8?q?du=20nom=20de=20fichier=20cache=20(limit=C3=A9=20=C3=A0=2031=20?= =?UTF-8?q?caract=C3=A8res)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc-public.php3 | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/inc-public.php3 b/inc-public.php3 index 40bdb5942d..d62296649f 100644 --- a/inc-public.php3 +++ b/inc-public.php3 @@ -21,32 +21,22 @@ if ($ajout_forum) { $fichier_requete = $REQUEST_URI; $fichier_requete = strtr($fichier_requete, '?', '&'); $fichier_requete = eregi_replace('&(submit|valider|(var_[^=&]*)|recalcul)=[^&]*', '', $fichier_requete); +$fichier_requete = ereg_replace('^/+', '', $fichier_requete); -$fichier_cache = substr(rawurlencode($fichier_requete), 0, 128); -$sousrep_cache = substr(md5($fichier_cache), 0, 1); +$md_cache = md5($fichier_requete); -if (creer_repertoire("CACHE", $sousrep_cache)) - $fichier_cache = "$sousrep_cache/$fichier_cache"; +$fichier_cache = ereg_replace('\.[a-zA-Z0-9]*', '', $fichier_requete); +$fichier_cache = ereg_replace('&[^&]+=([^&]+)', '&\1', $fichier_cache); +$fichier_cache = rawurlencode(strtr($fichier_cache, '/&-', '--_')); +if (strlen($fichier_cache) > 24) + $fichier_cache = substr(ereg_replace('([a-zA-Z]{0,3})[^-]*-', '\1-', $fichier_cache), -24); +$fichier_cache .= '.'.substr($md_cache, 1, 6); -/*if (!file_exists("CACHE/.plat") AND !file_exists("CACHE/$sousrep_cache")) { - @mkdir("CACHE/$sousrep_cache", 0777); - @chmod("CACHE/$sousrep_cache", 0777); - $ok = false; - if ($f = @fopen("CACHE/$sousrep_cache/.test", "w")) { - @fputs($f, '<?php $ok = true; ?'.'>'); - @fclose($f); - include("CACHE/$sousrep_cache/.test"); - } - if (!$ok) { - $f = fopen("CACHE/.plat", "w"); - fclose($f); - } -} +$subdir_cache = substr($md_cache, 0, 1); + +if (creer_repertoire("CACHE", $subdir_cache)) + $fichier_cache = "$subdir_cache/$fichier_cache"; -if (!file_exists("CACHE/.plat")) { - $fichier_cache = "$sousrep_cache/$fichier_cache"; -} -*/ $chemin_cache = "CACHE/$fichier_cache"; -- GitLab