Current File : /home/igihango/public_html/plugins-dist/compresseur/compresseur_pipeline.php |
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
\***************************************************************************/
/**
* 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',
['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_css'] = 'non';
$metas['url_statique_ressources'] = '';
return $metas;
}