source: spip-zone/_plugins_/cache/trunk/formulaires/vider_cache.php @ 113835

Last change on this file since 113835 was 113835, checked in by eric@…, 2 months ago

Mise à jour des services et API et début du formulaire de vidage

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1<?php
2/**
3 * Gestion du formulaire de vidage des caches d'un plugin donné utilisant Cache Factory.
4 *
5 * @package    SPIP\CACHE\API
6 */
7
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10/**
11 * Chargement des données : le formulaire affiche la liste des caches issus de l'utilisation du service et propose
12 * le vidage de tout ou partie des fichiers.
13 *
14 * @uses cache_repertorier()
15 *
16 * @return array
17 *              Tableau des données à charger par le formulaire (affichage). Aucune donnée chargée n'est un
18 *              champ de saisie, celle-ci sont systématiquement remises à zéro.
19 *              - `_caches`     : (affichage) liste des descriptions des caches rangés par service
20 */
21function formulaires_vider_cache_charger($plugin) {
22
23        // Lecture de la configuration des caches du plugin.
24        // Si celle-ci n'existe pas encore elle est créée (cas d'un premier appel, peu probable pour une lecture).
25        static $configuration = array();
26        include_spip('cache/cache');
27        if (empty($configuration[$plugin]) and (!$configuration[$plugin] = cache_configuration_lire($plugin))) {
28                $configuration[$plugin] = cache_cache_configurer($plugin);
29        }
30
31        // On appelle le service de chargement des variables qui est soit celui par défaut de Cache Factory
32        // soit celui spécifique au plugin si il existe.
33        $valeurs = cache_cache_vider_charger($plugin, $configuration[$plugin]);
34
35        return $valeurs;
36}
37
38
39/**
40 * Vérification des saisies : il est indispensable de choisir un cache à supprimer.
41 *
42 * @return array
43 *              Tableau des erreurs qui se limite à la non sélection d'au moins un cache.
44 */
45function formulaires_vider_cache_verifier($plugin) {
46
47        $erreurs = array();
48
49        $obligatoires = array('caches');
50        foreach ($obligatoires as $_obligatoire) {
51                if (!_request($_obligatoire))
52                        $erreurs[$_obligatoire] = _T('info_obligatoire');
53        }
54
55        return $erreurs;
56}
57
58/**
59 * Exécution du formulaire : la liste des caches sélectionnés est récupérée et fournie à l'API cache pour suppression.
60 *
61 * @uses cache_vider()
62 *
63 * @return array
64 *        Tableau retourné par le formulaire contenant toujours un message de bonne exécution. L'indicateur
65 *        editable est toujours à vrai.
66 */
67function formulaires_vider_cache_traiter($plugin) {
68
69        $retour = array();
70
71        // On récupère les caches à supprimer
72        $caches = _request('caches');
73
74        // On appelle l'API des caches
75        include_spip('inc/cache');
76        cache_vider('taxonomie', $caches);
77
78        $retour['message_ok'] = _T('cache:succes_vider_caches');
79        $retour['editable'] = true;
80
81        return $retour;
82}
Note: See TracBrowser for help on using the repository browser.