source: spip-zone/_plugins_/taxonomie/trunk/formulaires/vider_cache_taxonomie.php @ 113832

Last change on this file since 113832 was 113832, checked in by eric@…, 10 days ago

Mise au point de la gestion des caches avec le nouveau plugin Cache Facrtory

  • Property svn:eol-style set to native
File size: 2.5 KB
Line 
1<?php
2/**
3 * Gestion du formulaire de vidage des caches d'un service donné.
4 *
5 * @package    SPIP\TAXONOMIE\CACHE
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_taxonomie_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_taxonomie_charger() {
22
23        $valeurs = array();
24
25        // On constitue la liste des services requis par l'appel
26        include_spip('inc/taxonomie');
27        $services = taxon_lister_services();
28
29        // On récupère les caches et leur description pour donner un maximum d'explication sur le contenu.
30        include_spip('inc/cache');
31        foreach ($services as $_service => $_titre) {
32                // On récupère les caches du service
33                $filtres = array('service' => $_service);
34                $caches = cache_repertorier('taxonomie', $filtres);
35
36                // Si il existe des caches pour le service on stocke les informations recueillies
37                if ($caches) {
38                        $valeurs['_caches'][$_service]['titre_service'] = $_titre;
39                        $valeurs['_caches'][$_service]['caches'] = $caches;
40                }
41        }
42
43        return $valeurs;
44}
45
46
47/**
48 * Vérification des saisies : il est indispensable de choisir un cache à supprimer.
49 *
50 * @return array
51 *              Tableau des erreurs qui se limite à la non sélection d'au moins un cache.
52 */
53function formulaires_vider_cache_taxonomie_verifier() {
54
55        $erreurs = array();
56
57        $obligatoires = array('caches');
58        foreach ($obligatoires as $_obligatoire) {
59                if (!_request($_obligatoire))
60                        $erreurs[$_obligatoire] = _T('info_obligatoire');
61        }
62
63        return $erreurs;
64}
65
66/**
67 * Exécution du formulaire : la liste des caches sélectionnés est récupérée et fournie à l'API cache pour suppression.
68 *
69 * @uses cache_vider()
70 *
71 * @return array
72 *        Tableau retourné par le formulaire contenant toujours un message de bonne exécution. L'indicateur
73 *        editable est toujours à vrai.
74 */
75function formulaires_vider_cache_taxonomie_traiter() {
76
77        $retour = array();
78
79        // On récupère les caches à supprimer
80        $caches = _request('caches');
81
82        // On appelle l'API des caches
83        include_spip('inc/cache');
84        cache_vider('taxonomie', $caches);
85
86        $retour['message_ok'] = _T('taxonomie:succes_vider_caches');
87        $retour['editable'] = true;
88
89        return $retour;
90}
Note: See TracBrowser for help on using the repository browser.