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

Last change on this file since 106577 was 106577, checked in by arnaud.berard@…, 2 years ago
  • ajout de _EMOGRIFIER_DISABLE_STYLE_BLOCK_PARSING = true par defaut

comme le filtre emogrifier utilise des css externes pour inliner le html, on l'aisse les balises style intact dans le html généré afin de les utiliser pour les mediaqueries, hacks navigateur …

File size: 942 bytes
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  foreach ($fichiers as $fichier) {
26          $css .= file_get_contents(find_in_path(trim($fichier)));
27  }
28
29  // Pouvoir dire à DOMDocument.loadHTML de râler en silence sur le html mal formé
30  if (!_EMOGRIFIER_LIBXML_ERROR) {
31          libxml_use_internal_errors(true);
32  }
33 
34  $htmldoc = new \Pelago\Emogrifier($html, $css);
35  if (_EMOGRIFIER_DISABLE_STYLE_BLOCKS_PARSING) {
36        $htmldoc->disableStyleBlocksParsing();
37  }
38  return $htmldoc->emogrify();
39}
Note: See TracBrowser for help on using the repository browser.