[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / action / purger.php
index fef9f1a..6a26131 100644 (file)
@@ -3,18 +3,42 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  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.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
+/**
+ * Gestion de l'action purger pour nettoyer le cache
+ *
+ * @package SPIP\Core\Cache
+ **/
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
 
-// http://doc.spip.org/@action_purger_dist
-function action_purger_dist($arg=null)
-{
+/**
+ * Action de purge du cache
+ *
+ * L'argument peut être :
+ *
+ * - inhibe_cache : inhibe le cache pendant 24h
+ * - reactive_cache : enlève l'inhibition du cache
+ * - cache : nettoie tous les caches (sauf celui des vignettes)
+ * - squelettes : nettoie le cache de compilation des squelettes
+ * - vignettes : nettoie le cache des vignettes (et compressions css/js)
+ *
+ * @pipeline_appel trig_purger
+ * @uses supprime_invalideurs()
+ * @uses purger_repertoire()
+ *
+ * @param string|null $arg
+ *     Argument attendu. En absence utilise l'argument
+ *     de l'action sécurisée.
+ */
+function action_purger_dist($arg = null) {
        if (is_null($arg)) {
                $securiser_action = charger_fonction('securiser_action', 'inc');
                $arg = $securiser_action();
@@ -27,7 +51,7 @@ function action_purger_dist($arg=null)
        switch ($arg) {
                case 'inhibe_cache':
                        // inhiber le cache pendant 24h
-                       ecrire_meta('cache_inhib',$_SERVER['REQUEST_TIME']+24*3600);
+                       ecrire_meta('cache_inhib', $_SERVER['REQUEST_TIME'] + 24 * 3600);
                        break;
                case 'reactive_cache':
                        effacer_meta('cache_inhib');
@@ -37,19 +61,19 @@ function action_purger_dist($arg=null)
                        supprime_invalideurs();
                        @spip_unlink(_CACHE_RUBRIQUES);
                        @spip_unlink(_CACHE_CHEMIN);
-                       @spip_unlink(_DIR_TMP."plugin_xml_cache.gz");
+                       @spip_unlink(_DIR_TMP . "plugin_xml_cache.gz");
                        // on ne supprime que _CACHE_PLUGINS_OPT qui declenche la reconstruction des 3
                        // _CACHE_PIPELINES _CACHE_PLUGINS_PATH et _CACHE_PLUGINS_FCT
                        // pour eviter des problemes de concurence
-                       // cf http://core.spip.org/issues/2989
+                       // cf http://core.spip.net/issues/2989
                        //@spip_unlink(_CACHE_PIPELINES);
                        //@spip_unlink(_CACHE_PLUGINS_PATH);
                        //@spip_unlink(_CACHE_PLUGINS_FCT);
                        @spip_unlink(_CACHE_PLUGINS_OPT);
-                       purger_repertoire(_DIR_CACHE,array('subdir'=>true));
+                       purger_repertoire(_DIR_CACHE, array('subdir' => true));
                        purger_repertoire(_DIR_AIDE);
-                       purger_repertoire(_DIR_VAR.'cache-css');
-                       purger_repertoire(_DIR_VAR.'cache-js');
+                       purger_repertoire(_DIR_VAR . 'cache-css');
+                       purger_repertoire(_DIR_VAR . 'cache-js');
                        break;
 
                case 'squelettes':
@@ -57,14 +81,12 @@ function action_purger_dist($arg=null)
                        break;
 
                case 'vignettes':
-                       purger_repertoire(_DIR_VAR,array('subdir'=>true));
+                       purger_repertoire(_DIR_VAR, array('subdir' => true));
                        supprime_invalideurs();
-                       purger_repertoire(_DIR_CACHE);
+                       purger_repertoire(_DIR_CACHE, array('subdir' => true));
                        break;
        }
 
        // le faire savoir aux plugins
-       pipeline('trig_purger',$arg);
+       pipeline('trig_purger', $arg);
 }
-
-?>