source: spip-zone/_plugins_/emogrifier/trunk/emogrifier_fonctions.php @ 108164

Last change on this file since 108164 was 108164, checked in by arnaud.berard@…, 2 years ago

on prends en compte l'équivalent en squelette spip du fichier css définie pour la inlinisation si il est présent il est choisi en priorité
lignes plus courtes dans le readme je suis sur petit écran aujourd'hui + explication
+z

File size: 1.1 KB
Line 
1<?php
2/**
3 * Fonctions utiles au plugin Emogrifier
4 *
5 * @plugin         Emogrifier
6 * @copyright  2013
7 * @author         Vertige ASBL
8 * @licence        GNU/GPL
9 * @package        SPIP\Emogrifier\Fonctions
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16if (!defined('_EMOGRIFIER_CSS')) {
17        define('_EMOGRIFIER_CSS', 'css/newsletter.css');
18}
19
20function filtre_emogrifier($html, $fichier_css = _EMOGRIFIER_CSS) {
21
22  include_spip('lib/emogrifier/Classes/Emogrifier');
23
24  $fichiers = explode(',', $fichier_css);
25
26  foreach ($fichiers as $fichier) {
27
28        if (find_in_path($fichier . '.html')) {
29                $_css = produire_fond_statique($fichier, array('format' => 'css'));     
30                $css .= file_get_contents(find_in_path(supprimer_timestamp($_css)));
31        }else{
32                $css .= file_get_contents(find_in_path(trim($fichier)));
33        }
34  }
35
36  // Pouvoir dire à DOMDocument.loadHTML de râler en silence sur le html mal formé
37  if (!_EMOGRIFIER_LIBXML_ERROR) {
38          libxml_use_internal_errors(true);
39  }
40
41  $htmldoc = new \Pelago\Emogrifier($html, $css);
42  if (_EMOGRIFIER_DISABLE_STYLE_BLOCKS_PARSING) {
43        $htmldoc->disableStyleBlocksParsing();
44  }
45  return $htmldoc->emogrify();
46}
Note: See TracBrowser for help on using the repository browser.