X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=banana%2Fbanana.inc.php.in;h=0bee9829cdd71123ea227dadfb82c15b255152a3;hb=1f0336c86663a502dc8060dbe127326f98e88407;hp=4bbd57862b66bf76bbd22e9eaaa7caa192c2e8c2;hpb=52d7843e9f91ee0350fbab92a924b365ea32d9cf;p=banana.git diff --git a/banana/banana.inc.php.in b/banana/banana.inc.php.in index 4bbd578..0bee982 100644 --- a/banana/banana.inc.php.in +++ b/banana/banana.inc.php.in @@ -551,14 +551,24 @@ class Banana $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;