From 798dade4887f6d53bf9f49465e754b78d012694e Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Sat, 7 Jan 2006 09:10:23 +0000 Subject: [PATCH] remplacement de spip_cache.php3 et ses appels par des appels au script generique spip_action.php --- .gitattributes | 1 + ecrire/inc_admin_vider.php | 23 +++++++---- ecrire/inc_config.php3 | 9 ++-- ecrire/inc_invalideur.php3 | 44 -------------------- ecrire/inc_spip_action_purger.php | 68 +++++++++++++++++++++++++++++++ ecrire/inc_upgrade.php | 7 ++-- spip_cache.php3 | 24 ----------- 7 files changed, 92 insertions(+), 84 deletions(-) create mode 100644 ecrire/inc_spip_action_purger.php delete mode 100644 spip_cache.php3 diff --git a/.gitattributes b/.gitattributes index 7589fbc0c6..ee56b06f91 100644 --- a/.gitattributes +++ b/.gitattributes @@ -315,6 +315,7 @@ ecrire/inc_recherche.php -text ecrire/inc_rubriques_edit.php -text ecrire/inc_sites_edit.php -text ecrire/inc_sites_tous.php -text +ecrire/inc_spip_action_purger.php -text ecrire/inc_spip_cal.php -text ecrire/inc_spip_image.php -text ecrire/inc_spip_style.php -text diff --git a/ecrire/inc_admin_vider.php b/ecrire/inc_admin_vider.php index 5a1159fc2b..3c70e9739f 100644 --- a/ecrire/inc_admin_vider.php +++ b/ecrire/inc_admin_vider.php @@ -100,14 +100,16 @@ if ($quota_cache) { echo _T('taille_cache_infinie'); } - $action = 'purger_cache'; - $hash = calculer_action_auteur($action); + $action = 'purger'; + $arg = 'cache'; + $hash = calculer_action_auteur("$action $arg"); echo ' (', _T('cache_modifiable_webmestre'),')</p>', "\n<form action='", - generer_url_public("spip_cache"), + generer_url_public("spip_action.php"), "' method='POST'>", "\n<input type='hidden' name='action' value='$action' />", + "\n<input type='hidden' name='arg' value='$arg' />", "\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='", @@ -122,22 +124,25 @@ if ($quota_cache) { debut_cadre_relief("image-24.gif", false, "", _T('info_images_auto')); - $action = 'calculer_cache_vignettes'; - $hash = calculer_action_auteur($action); + $action = 'purger'; + $arg = 'taille_vignettes'; + $hash = calculer_action_auteur("$action $arg"); echo "<div style='text-align: center;'>", "<iframe width='530px' height='65px' src='", - generer_url_public("spip_cache", "action=$action&lang=$spip_lang&id_auteur=$connect_id_auteur&hash=$hash"), + generer_url_public("spip_action.php", "action=$action&arg=$arg&lang=$spip_lang&id_auteur=$connect_id_auteur&hash=$hash"), "'></iframe>", "</div>"; - $action = 'purger_cache_vignettes'; - $hash = calculer_action_auteur($action); + $action = 'purger'; + $arg = 'vignettes'; + $hash = calculer_action_auteur("$action $arg"); echo "\n<form action='", - generer_url_public("spip_cache"), + generer_url_public("spip_action.php"), "' method='POST'>", "\n<input type='hidden' name='action' value='$action' />", + "\n<input type='hidden' name='arg' value='$arg' />", "\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='", diff --git a/ecrire/inc_config.php3 b/ecrire/inc_config.php3 index c71dd277f2..064979902c 100644 --- a/ecrire/inc_config.php3 +++ b/ecrire/inc_config.php3 @@ -298,10 +298,11 @@ function appliquer_modifs_config() { } if ($purger_skel) { - 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())); + $action = 'purger'; + $arg = 'squelettes'; + $hash = calculer_action_auteur("$action $arg"); + redirige_par_entete(generer_url_public("spip_action.php"), "?action=$action&arg=$args&id_auteur=$connect_id_auteur&hash=&hash&redirect=" . + _DIR_RESTREINT_ABS . urlencode($clean_link->getUrl())); } } diff --git a/ecrire/inc_invalideur.php3 b/ecrire/inc_invalideur.php3 index dc37802ad4..a4dcaabd0a 100644 --- a/ecrire/inc_invalideur.php3 +++ b/ecrire/inc_invalideur.php3 @@ -134,50 +134,6 @@ function purger_repertoire($dir, $age='ignore', $regexp = '') { closedir($handle); } -function purger_cache() { - supprime_invalideurs(); - purger_repertoire(_DIR_CACHE, 0); -} - -function purger_cache_squelettes() { - purger_repertoire(_DIR_CACHE, 0, '^skel_'); -} - - -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; - - while (($fichier = @readdir($handle)) !== false) { - // Eviter ".", "..", ".htaccess", etc. - if ($fichier[0] == '.') continue; - if ($regexp AND !ereg($regexp, $fichier)) continue; - if (is_dir(_DIR_IMG.$fichier) AND ereg("^cache-", $fichier)) { - $taille += calculer_taille_dossier(_DIR_IMG.$fichier); - } - } - 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"; - echo _T('ecrire:taille_cache_image', array('dir' => _DIR_IMG, - 'taille' => "<b>".taille_en_octets($taille)."</b>")); - echo "</p></div></body></html>"; - -} - // Fonctions pour le cache des images (vues reduites) diff --git a/ecrire/inc_spip_action_purger.php b/ecrire/inc_spip_action_purger.php new file mode 100644 index 0000000000..402c4a5cce --- /dev/null +++ b/ecrire/inc_spip_action_purger.php @@ -0,0 +1,68 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2006 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +include_ecrire("inc_session"); + +function spip_action_purger_dist() +{ + global $arg, $hash, $id_auteur, $action; + + if (!verifier_action_auteur("$action $arg", $hash, $id_auteur)) exit; + + include_ecrire("inc_invalideur"); + + switch ($arg) { + + case 'cache': + supprime_invalideurs(); + purger_repertoire(_DIR_CACHE, 0); + break; + + case 'squelettes': + purger_repertoire(_DIR_CACHE, 0, '^skel_'); + break; + + case 'vignettes': + purger_repertoire(_DIR_IMG, $age='ignore', $regexp = '^cache\-'); + spip_log('vider le cache'); + supprime_invalideurs(); + purger_repertoire(_DIR_CACHE, 0); + break; + + case 'taille_vignettes': + + global $lang; + $handle = @opendir(_DIR_IMG); + if (!$handle) return; + + while (($fichier = @readdir($handle)) !== false) { + // Eviter ".", "..", ".htaccess", etc. + if ($fichier[0] == '.') continue; + if ($regexp AND !ereg($regexp, $fichier)) continue; + if (is_dir(_DIR_IMG.$fichier) AND ereg("^cache-", $fichier)) { + $taille += calculer_taille_dossier(_DIR_IMG.$fichier); + } + } + 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"; + echo _T('ecrire:taille_cache_image', array('dir' => _DIR_IMG, + 'taille' => "<b>".taille_en_octets($taille)."</b>")); + echo "</p></div></body></html>"; + break; + } +} diff --git a/ecrire/inc_upgrade.php b/ecrire/inc_upgrade.php index c63a610e5d..cfb343bb1f 100644 --- a/ecrire/inc_upgrade.php +++ b/ecrire/inc_upgrade.php @@ -82,9 +82,10 @@ function upgrade_dist() fin_admin($upgrade_titre); if ($ok) { - $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); + $action = 'purger'; + $arg = 'cache'; + $hash = calculer_action_auteur("$action $arg"); + redirige_par_entete(generer_url_public("spip_action.php"), "?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 deleted file mode 100644 index fec0cc8333..0000000000 --- a/spip_cache.php3 +++ /dev/null @@ -1,24 +0,0 @@ -<?php - -/***************************************************************************\ - * SPIP, Systeme de publication pour l'internet * - * * - * Copyright (c) 2001-2006 * - * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * - * * - * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * - * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * -\***************************************************************************/ - -include ("ecrire/inc_version.php3"); - -include_ecrire("inc_session"); -include_ecrire("inc_invalideur"); - -if (verifier_action_auteur($action, $hash, $id_auteur)) { - $action(); - spip_log($action); - } -if ($redirect) redirige_par_entete($redirect); - -?> -- GitLab