mirror of
https://github.com/YunoHost-Apps/spip_ynh.git
synced 2024-09-03 20:25:59 +02:00
114 lines
3.3 KiB
PHP
114 lines
3.3 KiB
PHP
<?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;
|
|
}
|
|
|
|
?>
|