123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- /***************************************************************************\
- * SPIP, Systeme de publication pour l'internet *
- * *
- * Copyright (c) 2001-2014 *
- * 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. *
- \***************************************************************************/
- /**
- * Fonctions et filtres du compresseur
- *
- * @package SPIP\Compresseur\Pipelines
- */
- if (!defined("_ECRIRE_INC_VERSION")) return;
- /**
- * Compression des JS et CSS de l'espace privé
- *
- * @pipeline header_prive
- * @see compacte_head()
- *
- * @param string $flux
- * Partie de contenu du head HTML de l'espace privé
- * @return string
- * Partie de contenu du head HTML de l'espace privé
- */
- function compresseur_header_prive($flux){
- include_spip('compresseur_fonctions');
- return compacte_head($flux);
- }
- /**
- * Compression des JS et CSS de l'espace public
- *
- * Injecter l'appel au compresseur sous la forme de filtre
- * pour intervenir sur l'ensemble du head du squelette public
- *
- * @pipeline insert_head
- * @see compacte_head()
- *
- * @param string $flux
- * Partie de contenu du head HTML de l'espace public
- * @return string
- * Partie de contenu du head HTML de l'espace public
- */
- function compresseur_insert_head($flux){
- $flux .= '<'
- .'?php header("X-Spip-Filtre: '
- .'compacte_head'
- .'"); ?'.'>';
- return $flux;
- }
- /**
- * Afficher le formulaire de configuration sur la page de configurations avancées
- *
- * @pipeline affiche_milieu
- *
- * @param string $flux Données du pipeline
- * @return string Données du pipeline
- */
- function compresseur_affiche_milieu($flux){
-
- if ($flux['args']['exec']=='configurer_avancees'){
- // Compression http et compactages CSS ou JS
- $flux['data'] .= recuperer_fond('prive/squelettes/inclure/configurer',array('configurer'=>'configurer_compresseur'));
- }
- return $flux;
- }
- /**
- * Lister les metas du compresseur et leurs valeurs par défaut
- *
- * @pipeline configurer_liste_metas
- * @param array $metas
- * Couples nom de la méta => valeur par défaut
- * @return array
- * Couples nom de la méta => valeur par défaut
- */
- function compresseur_configurer_liste_metas($metas){
- $metas['auto_compress_js']='non';
- $metas['auto_compress_closure']='non';
- $metas['auto_compress_css']='non';
- return $metas;
- }
- /**
- * Déclarer les filtres sur les squelettes mis en cache
- *
- * Ici minification CSS si la meta la demande
- *
- * @pipeline declarer_filtres_squelettes
- * @param array $flux Données du pipeline
- * @return array Données du pipeline
- */
- function compresseur_declarer_filtres_squelettes($flux){
- if (!test_espace_prive()
- AND !defined('_INTERDIRE_COMPRESSION_HTML')
- AND $GLOBALS['meta']['auto_compress_http']=='oui'
- AND (!isset($flux['args']['entetes']['Content-Type']) OR strncmp($flux['args']['entetes']['Content-Type'],'text/html',9)==0)
- ){
- include_spip("inc/compresseur_minifier");
- $flux['data'][] = 'minifier_html';
- }
- return $flux;
- }
- ?>
|