From 2ba1d910d5a807450dec8d91e7095bf5b1d3cb35 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 17 Dec 2006 13:37:10 +0000
Subject: [PATCH] reintegrer le calcul de la taille totale du cache var/
 directement dans le html (et non plus sous forme d'iframe). Au passage
 corrige #668

---
 ecrire/action/purger.php    | 74 +++++++++++++------------------------
 ecrire/exec/admin_vider.php | 49 +++++++++++++++++++++---
 ecrire/inc/invalideur.php   | 21 -----------
 3 files changed, 69 insertions(+), 75 deletions(-)

diff --git a/ecrire/action/purger.php b/ecrire/action/purger.php
index 446f9e360e..984cd34328 100644
--- a/ecrire/action/purger.php
+++ b/ecrire/action/purger.php
@@ -20,56 +20,32 @@ function action_purger_dist()
 
 	include_spip('inc/invalideur');
 
-  switch ($arg) {
-
-  case 'index': 
-	include_spip('inc/indexation');
-	spip_log("purger_indx");
-	purger_index();
-	creer_liste_indexation();
-	break;
-
-  case 'cache': 
-      supprime_invalideurs();
-      purger_repertoire(_DIR_CACHE, 0);
-      break;
-
-  case 'squelettes':
-	purger_repertoire(_DIR_SKELS);
-	break;
-
-  case 'vignettes':
-	purger_repertoire(_DIR_VAR, $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_VAR);
-	if (!$handle) return;
-
-	$taille = 0;
-	while (($fichier = @readdir($handle)) !== false) {
-		// Eviter ".", "..", ".htaccess", etc.
-		if ($fichier[0] == '.') continue;
-		if ($regexp AND !ereg($regexp, $fichier)) continue;
-		if (is_dir($d = _DIR_VAR . $fichier) AND ereg("^cache-", $fichier)) {
-			$taille += calculer_taille_dossier($d);
-		}
+	switch ($arg) {
+
+	case 'index': 
+		include_spip('inc/indexation');
+		spip_log("purger_indx");
+		purger_index();
+		creer_liste_indexation();
+		break;
+
+	case 'cache': 
+		supprime_invalideurs();
+		purger_repertoire(_DIR_CACHE, 0);
+		break;
+
+	case 'squelettes':
+		purger_repertoire(_DIR_SKELS);
+		break;
+
+	case 'vignettes':
+		purger_repertoire(_DIR_VAR, $age='ignore', $regexp = '^cache\-');
+		spip_log('vider le cache');
+		supprime_invalideurs();
+		purger_repertoire(_DIR_CACHE, 0);
+		break;
 	}
-	closedir($handle);
-	
-	include_spip('inc/minipres');
-        include_spip('inc/filtres');
 
-	echo minipres('', "<div style='font-family: verdana, arial, sans; font-size: 12px;'>" .
- _T('ecrire:taille_cache_image',
-		     array('dir' => _DIR_VAR,
-			   'taille' => "<b>".taille_en_octets($taille)."</b>")) .'</div>'); 
-	exit;
-  }
 }
+
 ?>
diff --git a/ecrire/exec/admin_vider.php b/ecrire/exec/admin_vider.php
index 54b8fe35d9..e305b1b877 100644
--- a/ecrire/exec/admin_vider.php
+++ b/ecrire/exec/admin_vider.php
@@ -15,6 +15,49 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/presentation');
 include_spip('inc/actions');
 
+
+// http://doc.spip.org/@calculer_taille_dossier
+function calculer_taille_dossier ($dir) {
+	$handle = @opendir($dir);
+	if (!$handle) return;
+
+	while (($fichier = @readdir($handle)) !== false) {
+		// Eviter ".", "..", ".htaccess", etc.
+		if ($fichier[0] == '.') continue;
+		if ($regexp AND !ereg($regexp, $fichier)) continue;
+		if (is_file("$dir/$fichier")) {
+			$taille += filesize("$dir/$fichier");
+		}
+	}
+	closedir($handle);
+	return $taille;
+}
+
+
+
+function afficher_taille_cache_vignettes() {
+	$handle = @opendir(_DIR_VAR);
+	if (!$handle) return;
+
+	$taille = 0;
+	while (($fichier = @readdir($handle)) !== false) {
+		// Eviter ".", "..", ".htaccess", etc.
+		if ($fichier[0] == '.') continue;
+		if ($regexp AND !ereg($regexp, $fichier)) continue;
+		if (is_dir($d = _DIR_VAR . $fichier) AND ereg("^cache-", $fichier)) {
+			$taille += calculer_taille_dossier($d);
+		}
+	}
+	closedir($handle);
+	
+	return _T('ecrire:taille_cache_image',
+		array(
+			'dir' => joli_repertoire(_DIR_VAR),
+			'taille' => "<b>".taille_en_octets($taille)."</b>"
+			)
+		);
+}
+
 // http://doc.spip.org/@exec_admin_vider_dist
 function exec_admin_vider_dist()
 {
@@ -88,11 +131,7 @@ if ($quota_cache) {
 
  debut_cadre_relief("image-24.gif", false, "", _T('info_images_auto'));
 
- echo "<div style='text-align: center;'>
-<iframe width='530px' height='65px'\nsrc='",
-   generer_action_auteur('purger','taille_vignettes') . "&amp;lang=$spip_lang",
-   "'></iframe>
-</div>";
+ echo afficher_taille_cache_vignettes();
 
  echo generer_action_auteur('purger',
 	'vignettes',
diff --git a/ecrire/inc/invalideur.php b/ecrire/inc/invalideur.php
index bf719e5e2e..54d9da4625 100644
--- a/ecrire/inc/invalideur.php
+++ b/ecrire/inc/invalideur.php
@@ -141,27 +141,6 @@ function purger_repertoire($dir, $age='ignore', $regexp = '') {
 	closedir($handle);
 }
 
-// Fonctions pour le cache des images (vues reduites)
-
-
-// http://doc.spip.org/@calculer_taille_dossier
-function calculer_taille_dossier ($dir) {
-	$handle = @opendir($dir);
-	if (!$handle) return;
-
-	while (($fichier = @readdir($handle)) !== false) {
-		// Eviter ".", "..", ".htaccess", etc.
-		if ($fichier[0] == '.') continue;
-		if ($regexp AND !ereg($regexp, $fichier)) continue;
-		if (is_file("$dir/$fichier")) {
-			$taille += filesize("$dir/$fichier");
-		}
-	}
-	closedir($handle);
-	return $taille;
-}
-
-
 // http://doc.spip.org/@cron_invalideur
 function cron_invalideur($t) {
 	//
-- 
GitLab