if ($pageclass == 'BananaPage') {
Banana::load('page');
}
- Banana::$page = new $pageclass;
+ Banana::$page = new $pageclass(@$this->params['output']);
$types = array('multipart/report' => _b_('Rapport d\'erreur'),
'multipart/mixed' => _b_('Composition'),
'text/html' => _b_('Texte formaté'),
$body = $msg->quote();
if (isset($_POST['reply'])) {
+ $res = '';
$body = explode("\n", $body);
$replies = $_POST['reply'];
- krsort($replies);
- foreach ($replies as $line => $text) {
- $text = explode("\n", "\n" . $text . "\n");
- array_splice($body, $line + 1, 0, $text);
+ ksort($replies);
+ $previous = 0;
+ foreach ($replies as $line => $data) {
+ if (!is_array($data)) {
+ $data = array('quote' => $previous, 'text' => $data);
+ } else if (!isset($data['quote'])) {
+ $data['quote'] = $previous;
+ } else if ($data['quote'] < $previous) {
+ $data['quote'] = $previous;
+ }
+ $res .= implode("\n", array_slice($body, $data['quote'], $line - $data['quote'] + 1));
+ $res .= "\n\n" . $data['text'] . "\n\n";
+ $previous = $line + 1;
}
- $body = implode("\n", $body);
+ $body = $res;
}
$body = $msg->getSender() . _b_(' a écrit :') . "\n" . $body;
&& isset($_SESSION['banana_message'])) {
$message = unserialize($_SESSION['banana_message']);
Banana::$msgshow_headers = $_SESSION['banana_showhdr'];
- } else {
+ } else {
$message = Banana::$protocole->getMessage($artid);
$_SESSION['banana_group'] = $group;
$_SESSION['banana_artid'] = $artid;