| Line 1... |
Line 1... |
| 1 |
<?php
|
1 |
<?php
|
| 2 |
// $Id: ezmlm-msgdisplay.php,v 1.8 2007-11-19 13:39:59 alexandre_tb Exp $
|
2 |
// $Id: ezmlm-msgdisplay.php,v 1.9 2008-05-23 10:18:37 alexandre_tb Exp $
|
| 3 |
//
|
3 |
//
|
| 4 |
// ezmlm-msgdisplay.php - ezmlm-php v2.0
|
4 |
// ezmlm-msgdisplay.php - ezmlm-php v2.0
|
| 5 |
// --------------------------------------------------------------
|
5 |
// --------------------------------------------------------------
|
| 6 |
// Will parse a template (if specified) and display a message.
|
6 |
// Will parse a template (if specified) and display a message.
|
| 7 |
// Includes a default template.
|
7 |
// Includes a default template.
|
| Line 27... |
Line 27... |
| 27 |
}
|
27 |
}
|
| 28 |
$this->msgfile = $msgfile ;
|
28 |
$this->msgfile = $msgfile ;
|
| 29 |
$message = file_get_contents($msgfile) ;
|
29 |
$message = file_get_contents($msgfile) ;
|
| 30 |
// En cours de codage
|
30 |
// En cours de codage
|
| 31 |
// La fonction display retourne tout simplement le source du mail
|
31 |
// La fonction display retourne tout simplement le source du mail
|
| 32 |
// Il n'y a plus d'analyse à ce niveau
|
32 |
// Il n'y a plus d'analyse a ce niveau
|
| Line 33... |
Line 33... |
| 33 |
|
33 |
|
| 34 |
return $message;
|
34 |
return $message;
|
| 35 |
$mimeDecode = new Mail_mimeDecode($message) ;
|
35 |
$mimeDecode = new Mail_mimeDecode($message) ;
|
| Line 36... |
Line 36... |
| 36 |
$mailDecode = $mimeDecode->decode(array('decode_bodies' => 'true', 'include_bodies' => 'true')) ;
|
36 |
$mailDecode = $mimeDecode->decode(array('decode_bodies' => 'true', 'include_bodies' => 'true')) ;
|
| 37 |
|
37 |
|
| 38 |
// $msg->msgfile contient le chemin du fichier du mail en partant de la racine
|
38 |
// $msg->msgfile contient le chemin du fichier du mail en partant de la racine
|
| Line 39... |
Line 39... |
| 39 |
// Le point d'exclamation est le délimiteur de l'expression régulière
|
39 |
// Le point d'exclamation est le delimiteur de l'expression reguliere
|
| 40 |
$relfile = preg_replace('!' . $this->listdir . '!', '', $msgfile);
|
40 |
$relfile = preg_replace('!' . $this->listdir . '!', '', $msgfile);
|
| 41 |
|
41 |
|
| 42 |
$a1 = preg_replace('!/archive/(.*)/.*$!', '\1', $relfile); // $a1 contient le nom du répertoire
|
42 |
$a1 = preg_replace('!/archive/(.*)/.*$!', '\1', $relfile); // $a1 contient le nom du repertoire
|
| 43 |
$a2 = preg_replace('!/archive/.*/(.*)$!', '\1', $relfile); // $a2 contient le nom du fichier
|
43 |
$a2 = preg_replace('!/archive/.*/(.*)$!', '\1', $relfile); // $a2 contient le nom du fichier
|
| 44 |
if (isset($mailDecode->headers['date'])) $msgtime = strtotime(preg_replace ('/CEST/', '', $mailDecode->headers['date']));
|
44 |
if (isset($mailDecode->headers['date'])) $msgtime = strtotime(preg_replace ('/CEST/', '', $mailDecode->headers['date']));
|
| Line 254... |
Line 254... |
| 254 |
}
|
254 |
}
|
| Line 255... |
Line 255... |
| 255 |
|
255 |
|
| 256 |
|
256 |
|
| 257 |
function parse_template(&$mailDecode, $numero_mail, $numero_mois, $num_part = '') {
|
257 |
function parse_template(&$mailDecode, $numero_mail, $numero_mois, $num_part = '') {
|
| 258 |
static $profondeur = array();
|
258 |
static $profondeur = array();
|
| Line 259... |
Line 259... |
| 259 |
array_push ($profondeur, $num_part) ;
|
259 |
if ($num_part != '') array_push ($profondeur, $num_part) ;
|
| 260 |
$corps = '' ;
|
260 |
$corps = '' ;
|
| 261 |
|
261 |
|
| Line 270... |
Line 270... |
| 270 |
if ($mailDecode->parts[$i]->ctype_parameters['charset'] == 'UTF-8') {
|
270 |
if ($mailDecode->parts[$i]->ctype_parameters['charset'] == 'UTF-8') {
|
| 271 |
$corps .= utf8_decode($mailDecode->parts[$i]->body);
|
271 |
$corps .= utf8_decode($mailDecode->parts[$i]->body);
|
| 272 |
}
|
272 |
}
|
| 273 |
}
|
273 |
}
|
| 274 |
break;
|
274 |
break;
|
| 275 |
case 'html' : $corps .= $mailDecode->parts[$i]->body ;
|
275 |
case 'html' : $corps .= trim(strip_tags ($mailDecode->parts[$i]->body, '<p><a>'));
|
| 276 |
break ;
|
276 |
break ;
|
| 277 |
case 'mixed' :
|
277 |
case 'mixed' :
|
| 278 |
case 'rfc822' :
|
278 |
case 'rfc822' :
|
| 279 |
case 'alternative' :
|
279 |
case 'alternative' :
|
| 280 |
case 'appledouble' :
|
280 |
case 'appledouble' :
|
| Line 342... |
Line 342... |
| 342 |
} else {
|
342 |
} else {
|
| 343 |
$this->message_rendu .= preg_replace('/<ezmlm-body>/i', '<pre>' . $this->cleanup_body($mailDecode->body,TRUE) . '</pre>', $this->msgtmpl);
|
343 |
$this->message_rendu .= preg_replace('/<ezmlm-body>/i', '<pre>' . $this->cleanup_body($mailDecode->body,TRUE) . '</pre>', $this->msgtmpl);
|
| 344 |
}
|
344 |
}
|
| 345 |
}
|
345 |
}
|
| 346 |
}
|
346 |
}
|
| - |
|
347 |
array_pop ($profondeur);
|
| 347 |
}
|
348 |
}
|
| Line 348... |
Line 349... |
| 348 |
|
349 |
|
| 349 |
function ezmlm_msgdisplay() {
|
350 |
function ezmlm_msgdisplay() {
|
| 350 |
$this->ezmlm_php();
|
351 |
$this->ezmlm_php();
|