diff --git a/inc-public.php3 b/inc-public.php3 index 40bdb5942de3e7dd5e3669956124a41726768e97..d62296649fd4555fffe0f67cebb871d8dad40971 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";