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

Last change on this file was 110942, checked in by arnaud.berard@…, 22 months ago

tester si le fichier existe
+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/Emogrifier');
23
24  $fichiers = explode(',', $fichier_css);
25
26  foreach ($fichiers as $fichier) {
27                if (find_in_path($fichier . '.html')) {
28                        $_css = produire_fond_statique($fichier, array('format' => 'css'));
29                        $css .= file_get_contents(find_in_path(supprimer_timestamp($_css)));
30                } elseif ( find_in_path(trim($fichier)) ){
31                        $css .= file_get_contents(find_in_path(trim($fichier)));
32                }
33  }
34
35  // Pouvoir dire à DOMDocument.loadHTML de râler en silence sur le html mal formé
36  if (!_EMOGRIFIER_LIBXML_ERROR) {
37          libxml_use_internal_errors(true);
38  }
39
40  $htmldoc = new \Pelago\Emogrifier($html, $css);
41  if (_EMOGRIFIER_DISABLE_STYLE_BLOCKS_PARSING) {
42                $htmldoc->disableStyleBlocksParsing();
43  }
44  return $htmldoc->emogrify();
45}
Note: See TracBrowser for help on using the repository browser.