[SPIP] v3.2.1-->v3.2.3
[lhc/web/www.git] / www / plugins-dist / compresseur / compresseur_pipeline.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
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 /**
14 * Fonctions et filtres du compresseur
15 *
16 * @package SPIP\Compresseur\Pipelines
17 */
18 if (!defined('_ECRIRE_INC_VERSION')) {
19 return;
20 }
21
22 /**
23 * Compression des JS et CSS de l'espace privé
24 *
25 * @pipeline header_prive
26 * @see compacte_head()
27 *
28 * @param string $flux
29 * Partie de contenu du head HTML de l'espace privé
30 * @return string
31 * Partie de contenu du head HTML de l'espace privé
32 */
33 function compresseur_header_prive($flux) {
34 include_spip('compresseur_fonctions');
35
36 return compacte_head($flux);
37 }
38
39
40 /**
41 * Compression des JS et CSS de l'espace public
42 *
43 * Injecter l'appel au compresseur sous la forme de filtre
44 * pour intervenir sur l'ensemble du head du squelette public
45 *
46 * @pipeline insert_head
47 * @see compacte_head()
48 *
49 * @param string $flux
50 * Partie de contenu du head HTML de l'espace public
51 * @return string
52 * Partie de contenu du head HTML de l'espace public
53 */
54 function compresseur_insert_head($flux) {
55 $flux .= '<'
56 . '?php header("X-Spip-Filtre: '
57 . 'compacte_head'
58 . '"); ?' . '>';
59
60 return $flux;
61 }
62
63 /**
64 * Afficher le formulaire de configuration sur la page de configurations avancées
65 *
66 * @pipeline affiche_milieu
67 *
68 * @param string $flux Données du pipeline
69 * @return string Données du pipeline
70 */
71 function compresseur_affiche_milieu($flux) {
72
73 if ($flux['args']['exec'] == 'configurer_avancees') {
74 // Compression http et compactages CSS ou JS
75 $flux['data'] .= recuperer_fond(
76 'prive/squelettes/inclure/configurer',
77 array('configurer' => 'configurer_compresseur')
78 );
79 }
80
81 return $flux;
82 }
83
84
85 /**
86 * Lister les metas du compresseur et leurs valeurs par défaut
87 *
88 * @pipeline configurer_liste_metas
89 * @param array $metas
90 * Couples nom de la méta => valeur par défaut
91 * @return array
92 * Couples nom de la méta => valeur par défaut
93 */
94 function compresseur_configurer_liste_metas($metas) {
95 $metas['auto_compress_js'] = 'non';
96 $metas['auto_compress_css'] = 'non';
97 $metas['url_statique_ressources'] = '';
98
99 return $metas;
100 }