From 12fad9b0413fbcc53ee4df54dff1a180c3bad12e Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Fri, 6 Jan 2006 22:02:06 +0000
Subject: [PATCH] genericite du script spip_cache

---
 ecrire/inc_admin_vider.php | 60 +++++++++++++++++++++++++++-----------
 ecrire/inc_config.php3     |  2 +-
 ecrire/inc_invalideur.php3 | 12 ++++----
 ecrire/inc_upgrade.php     |  5 ++--
 spip_cache.php3            | 31 +++-----------------
 5 files changed, 58 insertions(+), 52 deletions(-)

diff --git a/ecrire/inc_admin_vider.php b/ecrire/inc_admin_vider.php
index 0883b77603..5a1159fc2b 100644
--- a/ecrire/inc_admin_vider.php
+++ b/ecrire/inc_admin_vider.php
@@ -99,27 +99,53 @@ if ($quota_cache) {
 } else {
 	echo _T('taille_cache_infinie');
 }
-echo ' ('._T('cache_modifiable_webmestre').')</p>', 
-  "\n<form action='" . generer_url_public("spip_cache","") . "' method='post'>", 
-  "\n<INPUT TYPE='hidden' NAME='id_auteur' VALUE='$connect_id_auteur' />", 
-  "\n<INPUT TYPE='hidden' NAME='hash' VALUE='" . calculer_action_auteur("purger_cache") . "' />", 
-  "\n<INPUT TYPE='hidden' NAME='purger_cache' VALUE='oui' />",
-  "\n<INPUT TYPE='hidden' NAME='redirect' VALUE='", generer_url_ecrire(_DIR_RESTREINT_ABS . "admin_vider") . "' />", 
- "\n<p><DIV align='right'><INPUT CLASS='fondo' TYPE='submit' NAME='valider' VALUE=\"".str_replace('"', '&quot;', _T('bouton_vider_cache'))."\"></FORM></DIV>";
+
+ $action = 'purger_cache';
+ $hash = calculer_action_auteur($action);
+
+ echo ' (', _T('cache_modifiable_webmestre'),')</p>', 
+  "\n<form action='",
+  generer_url_public("spip_cache"),
+  "' method='POST'>", 
+  "\n<input type='hidden' name='action' value='$action' />",
+  "\n<input type='hidden' name='id_auteur' value='$connect_id_auteur' />", 
+  "\n<input type='hidden' name='hash' value='$hash' />", 
+  "\n<input type='hidden' name='redirect' value='",
+  generer_url_ecrire(_DIR_RESTREINT_ABS . "admin_vider"),
+  "' />", 
+  "\n<p><div align='right'><input class='fondo' type='submit' value=\"",
+  str_replace('"', '&quot;', _T('bouton_vider_cache')),
+  "\"></form></div>";
 
  fin_cadre_relief();
 
 
  debut_cadre_relief("image-24.gif", false, "", _T('info_images_auto'));
+
+ $action = 'calculer_cache_vignettes';
+ $hash = calculer_action_auteur($action);
+
  echo "<div style='text-align: center;'>",
-   "<iframe width='530px' height='65px' src='", generer_url_public("spip_cache", "id_auteur=$connect_id_auteur&hash=".calculer_action_auteur("afficher_cache_images")."&afficher_cache_images=oui&lang=$spip_lang"), "'></iframe>",
+   "<iframe width='530px' height='65px' src='",
+   generer_url_public("spip_cache", "action=$action&lang=$spip_lang&id_auteur=$connect_id_auteur&hash=$hash"),
+   "'></iframe>",
    "</div>";
 
-echo "\n<form action='" . generer_url_public("spip_cache","") . "' method='post'>", "\n<INPUT TYPE='hidden' NAME='id_auteur' VALUE='$connect_id_auteur'>",
-   "\n<INPUT TYPE='hidden' NAME='hash' VALUE='" . calculer_action_auteur("purger_cache_images") . "'>",
-  "\n<INPUT TYPE='hidden' NAME='purger_cache_images' VALUE='oui'>",
-  "\n<INPUT TYPE='hidden' NAME='redirect' VALUE='", generer_url_ecrire(_DIR_RESTREINT_ABS . "admin_vider") . "' />", 
-  "\n<p><DIV align='right'><INPUT CLASS='fondo' TYPE='submit' NAME='valider' VALUE=\"".str_replace('"', '&quot;', _T('bouton_vider_cache'))."\"></FORM></DIV>";
+ $action = 'purger_cache_vignettes';
+ $hash = calculer_action_auteur($action);
+
+ echo   "\n<form action='",
+   generer_url_public("spip_cache"),
+   "' method='POST'>",
+   "\n<input type='hidden' name='action' value='$action' />",
+   "\n<input type='hidden' name='id_auteur' value='$connect_id_auteur' />",
+   "\n<input type='hidden' name='hash' value='$hash' />",
+   "\n<input type='hidden' name='redirect' value='",
+   generer_url_ecrire(_DIR_RESTREINT_ABS . "admin_vider"),
+   "' />", 
+   "\n<p><DIV align='right'><input class='fondo' type='submit'  value=\"",
+   str_replace('"', '&quot;', _T('bouton_vider_cache')),
+   "\" /></form></div>";
 
 fin_cadre_relief();
 
@@ -143,17 +169,17 @@ debut_cadre_trait_couleur("racine-site-24.gif", false, "", _T('texte_effacer_don
 	
 	}
 	
-	echo "\n<form action='" . generer_url_ecrire("admin_vider","") . "' method='post'>";
+	echo "\n<form action='" . generer_url_ecrire("admin_vider") . "' method='POST'>";
 	
 	$hash = calculer_action_auteur("purger_index");
 	
-	echo "\n<INPUT TYPE='hidden' NAME='hash' VALUE='$hash'>";
-	echo "\n<INPUT TYPE='hidden' NAME='purger_index' VALUE='oui'>";
+	echo "\n<INPUT TYPE='hidden' NAME='hash' VALUE='$hash' />";
+	echo "\n<INPUT TYPE='hidden' NAME='purger_index' VALUE='oui' />";
 	echo "\n<p><DIV align='right'><INPUT CLASS='fondo' TYPE='submit' NAME='valider' VALUE=\""._T('bouton_effacer_index')."\"></FORM></DIV>";
 
 fin_cadre_trait_couleur();
 
-echo "<BR>";
+echo "<br />";
 
 fin_page();
 }
diff --git a/ecrire/inc_config.php3 b/ecrire/inc_config.php3
index b8c848e760..c71dd277f2 100644
--- a/ecrire/inc_config.php3
+++ b/ecrire/inc_config.php3
@@ -298,7 +298,7 @@ function appliquer_modifs_config() {
 	}
 
 	if ($purger_skel) {
-	  redirige_par_entete(generer_url_public("spip_cache"), "?purger_squelettes=oui&id_auteur=$connect_id_auteur&hash=" .
+	  redirige_par_entete(generer_url_public("spip_cache"), "?action=purger_squelettes&id_auteur=$connect_id_auteur&hash=" .
 				    calculer_action_auteur("purger_squelettes") .
 				    "&redirect=".  _DIR_RESTREINT_ABS .
 						urlencode($clean_link->getUrl()));
diff --git a/ecrire/inc_invalideur.php3 b/ecrire/inc_invalideur.php3
index de92f51de3..dc37802ad4 100644
--- a/ecrire/inc_invalideur.php3
+++ b/ecrire/inc_invalideur.php3
@@ -135,24 +135,24 @@ function purger_repertoire($dir, $age='ignore', $regexp = '') {
 }
 
 function purger_cache() {
-	spip_log('vider le cache');
-	include_ecrire('inc_invalideur');
 	supprime_invalideurs();
 	purger_repertoire(_DIR_CACHE, 0);
 }
 
-function purger_squelettes() {
-	spip_log('effacer les squelettes compiles');
+function purger_cache_squelettes() {
 	purger_repertoire(_DIR_CACHE, 0, '^skel_');
 }
 
 
-function purger_cache_images() {
+function purger_cache_vignettes() {
 	purger_repertoire(_DIR_IMG, $age='ignore', $regexp = '^cache\-');
+	spip_log('vider le cache');
+	purger_cache();
 }
 
 
 function calculer_cache_vignettes() {
+  	global $lang;
 	$handle = @opendir(_DIR_IMG);
 	if (!$handle) return;
 
@@ -167,6 +167,8 @@ function calculer_cache_vignettes() {
 	closedir($handle);
 	
 	include_ecrire("inc_filtres");
+	include_ecrire('inc_lang');
+	lang_select($lang);
 	echo "<html><body>\n";
 	echo "<div style='font-family: verdana, arial, sans; font-size: 12px;'>";
 	echo "<p align='justify'>\n";
diff --git a/ecrire/inc_upgrade.php b/ecrire/inc_upgrade.php
index 9c45120e09..c63a610e5d 100644
--- a/ecrire/inc_upgrade.php
+++ b/ecrire/inc_upgrade.php
@@ -82,8 +82,9 @@ function upgrade_dist()
   fin_admin($upgrade_titre);
 
   if ($ok) {
-	$hash = calculer_action_auteur("purger_cache");
-	redirige_par_entete(generer_url_public("spip_cache"), "?purger_cache=oui&id_auteur=$connect_id_auteur&hash=$hash&redirect=" .  _DIR_RESTREINT_ABS);
+	$action = 'purger_cache';
+	$hash = calculer_action_auteur($action);
+	redirige_par_entete(generer_url_public("spip_cache"), "?action=$action&id_auteur=$connect_id_auteur&hash=$hash&redirect=" .  _DIR_RESTREINT_ABS);
   }
   else {
 	echo _T('alerte_maj_impossible', array('version' => $spip_version));
diff --git a/spip_cache.php3 b/spip_cache.php3
index f322e90422..fec0cc8333 100644
--- a/spip_cache.php3
+++ b/spip_cache.php3
@@ -10,38 +10,15 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 include ("ecrire/inc_version.php3");
 
-include_ecrire("inc_meta");
 include_ecrire("inc_session");
 include_ecrire("inc_invalideur");
-spip_log(join(", ", $_REQUEST));
-if ($purger_cache == "oui"
-AND verifier_action_auteur("purger_cache", $hash, $id_auteur)) {
-	purger_cache();
-}
-
-if ($purger_squelettes == "oui"
-AND verifier_action_auteur("purger_squelettes", $hash, $id_auteur)) {
-	  purger_squelettes();
-}
-
-
-if ($afficher_cache_images == "oui"
-AND verifier_action_auteur("afficher_cache_images", $hash, $id_auteur)) {
-	include_ecrire('inc_lang');
-	lang_select($lang);
-	calculer_cache_vignettes();
-}
-
-if ($purger_cache_images == "oui"
-AND verifier_action_auteur("purger_cache_images", $hash, $id_auteur)) {
-	purger_cache_images();
-	purger_cache();
-}
-
 
+if (verifier_action_auteur($action, $hash, $id_auteur)) {
+	$action();
+	spip_log($action);
+ }
 if ($redirect) redirige_par_entete($redirect);
 
 ?>
-- 
GitLab