[SPIP] ~maj v3.0.14-->v3.0.17
[ptitvelo/web/www.git] / www / ecrire / action / purger.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 // http://doc.spip.org/@action_purger_dist
16 function action_purger_dist($arg=null)
17 {
18 if (is_null($arg)) {
19 $securiser_action = charger_fonction('securiser_action', 'inc');
20 $arg = $securiser_action();
21 }
22
23 include_spip('inc/invalideur');
24
25 spip_log("purger $arg");
26
27 switch ($arg) {
28 case 'inhibe_cache':
29 // inhiber le cache pendant 24h
30 ecrire_meta('cache_inhib',$_SERVER['REQUEST_TIME']+24*3600);
31 break;
32 case 'reactive_cache':
33 effacer_meta('cache_inhib');
34 break;
35
36 case 'cache':
37 supprime_invalideurs();
38 @spip_unlink(_CACHE_RUBRIQUES);
39 @spip_unlink(_CACHE_CHEMIN);
40 @spip_unlink(_DIR_TMP."plugin_xml_cache.gz");
41 // on ne supprime que _CACHE_PLUGINS_OPT qui declenche la reconstruction des 3
42 // _CACHE_PIPELINES _CACHE_PLUGINS_PATH et _CACHE_PLUGINS_FCT
43 // pour eviter des problemes de concurence
44 // cf http://core.spip.org/issues/2989
45 //@spip_unlink(_CACHE_PIPELINES);
46 //@spip_unlink(_CACHE_PLUGINS_PATH);
47 //@spip_unlink(_CACHE_PLUGINS_FCT);
48 @spip_unlink(_CACHE_PLUGINS_OPT);
49 purger_repertoire(_DIR_CACHE,array('subdir'=>true));
50 purger_repertoire(_DIR_AIDE);
51 purger_repertoire(_DIR_VAR.'cache-css');
52 purger_repertoire(_DIR_VAR.'cache-js');
53 break;
54
55 case 'squelettes':
56 purger_repertoire(_DIR_SKELS);
57 break;
58
59 case 'vignettes':
60 purger_repertoire(_DIR_VAR,array('subdir'=>true));
61 supprime_invalideurs();
62 purger_repertoire(_DIR_CACHE);
63 break;
64 }
65
66 // le faire savoir aux plugins
67 pipeline('trig_purger',$arg);
68 }
69
70 ?>